211
Modelling and Evaluation of Two-Stroke and Four-Stroke Engines with In-Cycle Speed Fluctuations A Thesis Submitted to Faculty of Engineering School of Mechanical and Manufacturing Engineering for the Degree of Doctor of Philosophy by Brian James Callahan, B.S., M.S. September 2004

Modelling and Evaluation of Two-Stroke and Four-Stroke Engines … stuff/thesis/thesis_Bingham... · 2019-09-24 · itus G.P. Blair, CBE for his help with understand two-strokes,

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Modelling and Evaluationof Two-Stroke and Four-Stroke Engines

with In-Cycle Speed Fluctuations

A Thesis

Submitted to

Faculty of Engineering

School of Mechanical and Manufacturing Engineering

for the Degree of

Doctor of Philosophy

by

Brian James Callahan, B.S., M.S.

September 2004

c©2004 Brian James Callahan

ABSTRACT

A drivetrain model utilising detailed crankshaft and drivetrain dynamics has been in-

corporated into an unsteady gas dynamic computer engine simulator. This study exam-

ines the effect of in-cycle speed fluctuations on the performance of various small en-

gines. Relaxing the conventional assumption of constant crankshaft velocity changed

the predicted brake mean effective pressures by over 10% in some cases. Experimen-

tal validation of the simulation involved mounting a modified Yamaha YZ250 engine

to a test bed and driving an inertia wheel through a fully characterised drivetrain. A

high-speed data acquisition system measured time and crankshaft position data, and

these were used to calculate instantaneous crankshaft speed. These results were com-

pared to the predicted profiles. Simulation results and experimental measurements are

presented and discussed.

With the link between the engine model and the drivetrain model validated, four ad-

ditional small two-stroke engines were studied: a high performance single-cylinder

engine, a high performance multi-cylinder, a low performance single-cylinder, and a

medium performance multi-cylinder. One four-stroke engine was also studied, a high

performance single-cylinder unit. Each engine was modelled in Virtual Engines, which

is a fully detailed one-dimensional thermodynamic engine simulator. Measured or pre-

dicted in-cycle speed data were input into the engine models. Predicted performance

changes due to drivetrain effects are shown in each case, and conclusions are drawn

from those results.

The four-stroke engine showed significant changes in predicted performance compared

to the prediction with zero speed fluctuation assumed in the model. Measured speed

fluctuations from a firing Yamaha YZ400F engine were applied to the simulation in

addition to data from a simple free mass model. Both methods predicted similar fluc-

tuation profiles and changes in performance. The same comparison was done for the

high speed, high performance single-cylinder engine usingmeasured results from a

firing Honda RS125 engine, and again the measured fluctuationprofiles agreed with

those predicted by a free mass model. It is shown that the gearreduction between the

crankshaft and the clutch allowed for this similar behaviour. The multi-cylinder, high

performance two-stroke engine also showed significant changes in performance, in this

case depending on the firing configuration.

The low output two-stroke engine simulation showed only a negligible change in per-

formance in spite of high amplitude speed fluctuations. Thiswas due to its flat torque

versus speed characteristic. The medium performance multi-cylinder two-stroke en-

gine also showed only a negligible change in performance, inthis case due to a rel-

atively high mass moment of inertia rotating assembly and multiple cylinder firing

events within the revolution. These smoothed the net torquepulsations and reduced

the amplitude of the speed fluctuation itself.

To Rose

iii

ACKNOWLEDGMENTS

First and foremost, I would like to extend heartfelt thanks to my supervisor, Dr. Robert

Kee. He taught me all aspects of two-stroke engine behaviourand performance and

also helped me with many of the engine experiments. Always with a congenial and

polite attitude, he went far above and beyond the duty of a supervisor. I could not

have asked for a better teacher, mentor, or friend. I would also like to thank my co-

supervisors, Prof. Robert Fleck and Dr. Robert Kenny. Prof.Fleck helped me in par-

ticular with collecting data for the outboard marine enginecharacteristics, and with

two-stroke behaviour in general. Dr. Kenny organised the scavenging efficiency tests

that were performed on the research engine cylinder, and also answered many ques-

tions about two-stroke engines.

I would like to acknowledge the QUB Academic Planning Group for providing funds

for my tuition. I acknowledge O Power Technology for funding my salary and

most of the equipment used in this study. Thanks go to the Special Programme for

University Research in Northern Ireland for paying for someof the equipment and no-

tably the extensive laboratory refurbishment, as part of the Virtual Engineering Centre

project. Also, thanks go to the Engineering and Physical Sciences Council for some

of the new laboratory equipment. I would like to thank the School of Mechanical

and Manufacturing Engineering for funding the salary of my technician, Mr. Raymond

McCullough. Thanks go to Stihl and Mercury Marine for supplying engineering data

used in this study. Thanks also go to Yamaha Motor Company forsupplying engine

parts used in this study.

I would like to thank two special people on the staff. First, Ms. Wendy Joaquim for

her efforts at making sure I could get in and out of the country as needed, and second,

Mr. Raymond McCullough for his valiant efforts keeping the engines running, keeping

iv

the laboratory running, and simply doing a lot of work! Thesetwo folks really made

my stay at QUB more liveable.

I would like to express extra thanks to Dr. Paul McEntee for all his help setting up the

research laboratory. He taught me a lot about data acquisition and engine testing. I

would like to thank Dr. Neil McDowell and Prof. Roy Douglas for all their help with

the PTrAc/PTrAn data acquisition system and thermodynamic calculator software. I

thank Dr. Charlie McCartan for all his help with the drivetrain dynamics aspect of this

study, and for teaching me how a Fourier decomposition works. Thanks to Dr. Emer-

son Callender for his help with understanding exhaust emissions. I thank Bryan Fleck

for his help with engine modelling and for the results for theGP 125 engine. I thank

Dr. David Thornhill for his help with matters mechanical, and I thank Professor Emer-

itus G.P. Blair, CBE for his help with understand two-strokes, and, of course, for his

always entertaining stories.

From O Power Technology I thank Dr. Malcolm Ashe for the speed data for

the YZ400F engine and for his help with characterising the engine. I thank Dr. Dermot

Mackey for his extensive help with theVirtual Two-StrokeandVirtual Four-Strokepro-

grams. I thank Ross DelBusso for his help with maneuvering through system problems

with Virtual Engines, and John Crandall for his help withVirtual Enginesin general.

I thank Mr. Glenn Chatfield for his hospitality during my visits to Pittsburgh and of

course for being the source of all the funding that O supplied.

I thank my good friend Marty Davis for bugging the staff at QUB to take a look at my

curriculum vitae, and for encouraging me to go for the Ph.D. in the first place. Iwould

not have done this if it were not for him.

I thank my good friends S ıle Brennan, John O’Neill, Eddie Archer, Jon Jameson, Esam

Abu-Khiran, Emerson Callender, Brendan Maynes, Richard O’Shaunessey, Sean Ke-

own, Anne Basten, Keith Acheson, and Paul Irwin for good camaraderie and lots of

v

laughs. I thank Chris Elder and the rest of the folks from the waterski club and also

the folks from the mountaineering club for all the fun and activity in spite of my being

4500 miles from home.

I would like to thank my brother, Kevin Callahan, for giving me a place to stay during

my year-long medical leave of absence.

I would like to extend a huge, heartfelt thank you to my wife, Rose, for standing by me

patiently through the years working toward this degree.

But finally, and most importantly, I would like to thank my grandmother, Miriam An-

drejkovics, for her daily prayers that I might one day become“Dr. Callahan”.

vi

CONTENTS

List of Figures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x

List of Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv

Nomenclature. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.1 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 Internal Torques on the Crankshaft . . . . . . . . . . . . . . . . . .. 2

1.3 Literature Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.5 Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2. Software Modelling Method . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.2 Virtual Two-StrokeEngine Model . . . . . . . . . . . . . . . . . . . . 12

2.2.1 Research Engine (YZ250) Model . . . . . . . . . . . . . . . 13

2.2.2 Other Two-Stroke Engines Modelled . . . . . . . . . . . . . 17

2.3 Virtual Four-StrokeEngine Model . . . . . . . . . . . . . . . . . . . 20

2.4 Drivetrain Modelling . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.4.1 Measured Drivetrain Response . . . . . . . . . . . . . . . . . 24

2.4.2 Mass-Elastic Models . . . . . . . . . . . . . . . . . . . . . . 25

2.4.3 Free-mass Model and Geared Model . . . . . . . . . . . . . . 38

2.5 Drivetrain Response Analysis . . . . . . . . . . . . . . . . . . . . . .40

vii

3. Model Validation Method. . . . . . . . . . . . . . . . . . . . . . . . . . . 42

3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

3.2 Engine Model Validation Experiments . . . . . . . . . . . . . . . .. 42

3.3 Dynamic Model Validation Experiments . . . . . . . . . . . . . . .. 43

3.3.1 YZ250 Research Engine Drivetrain . . . . . . . . . . . . . . 43

3.3.2 GP 125 and YZ400F Drivetrains . . . . . . . . . . . . . . . . 48

3.4 Experimental Pitfalls . . . . . . . . . . . . . . . . . . . . . . . . . . 50

4. YZ250 Engine Model Validation Results and Discussion. . . . . . . . . . 52

4.1 Engine Performance Results . . . . . . . . . . . . . . . . . . . . . . 52

4.2 Performance of theVirtual 2-StrokeEngine Model . . . . . . . . . . 62

5. YZ250 Drivetrain Model Validation Results and Discussion . . . . . . . . . 70

5.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

5.2 Angle Domain Analysis . . . . . . . . . . . . . . . . . . . . . . . . . 70

5.3 Angular Frequency Domain Analysis . . . . . . . . . . . . . . . . . 71

5.4 Comparison of the Numerical and Analytical Models . . . . .. . . . 82

5.5 The Quasi Steady-State Assumption . . . . . . . . . . . . . . . . . .91

6. Drivetrain Effects on Performance of Various Small Engines. . . . . . . . 93

6.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

6.2 Yamaha YZ400F Engine Results . . . . . . . . . . . . . . . . . . . . 95

6.3 Honda RS125 Engine Results . . . . . . . . . . . . . . . . . . . . . . 105

6.4 GP 500 Engine Results . . . . . . . . . . . . . . . . . . . . . . . . . 107

6.5 36 cm3 Utility Engine Results . . . . . . . . . . . . . . . . . . . . . . 114

6.6 Marine Outboard Engine Results . . . . . . . . . . . . . . . . . . . . 116

7. Conclusions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

viii

Appendices 122

A. Derivation of the Simplifiedω′/ω Relationships . . . . . . . . . . . . . . . 123

B. Details of theVirtual Two-StrokeandVirtual Four-StrokeModels . . . . . 127

B.1 Detailed parameters of the YZ250 engine model. . . . . . . . .. . . 127

B.2 Detailed parameters of the GP 125 engine model. . . . . . . . .. . . 131

B.3 Detailed parameters of the GP 500 engine models. . . . . . . .. . . . 135

B.4 Detailed parameters of the 36 cm3 engine model. . . . . . . . . . . . 136

B.5 Detailed parameters of the marine outboard engine model. . . . . . . 138

B.6 Detailed parameters of the YZ400F engine model. . . . . . . .. . . . 140

C. Design of the Fluid Damper. . . . . . . . . . . . . . . . . . . . . . . . . . 143

D. M-files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185

ix

LIST OF FIGURES

1.1 Amplitude of in-cycle fluctuations due toτgasversusJ and IMEP. . . 4

1.2 Amplitude of in-cycle speed fluctuations due toτgasversusω andJ. . 4

2.1 Research engine based on Yamaha YZ250. . . . . . . . . . . . . . . .14

2.2 Tuned exhaust system for the research engine. . . . . . . . . .. . . . 15

2.3 Photograph of the research engine and drivetrain. . . . . .. . . . . . 23

2.4 Sketch of the research engine and drivetrain rotating components. . . 26

2.5 Schematic of lumped mass system used to model the research engineand drivetrain. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

2.6 Two-mass drivetrain model used for the 36 cm3 engine. . . . . . . . . 26

2.7 Data flow and successive substitution method. . . . . . . . . .. . . . 32

2.8 Free-mass drivetrain model. . . . . . . . . . . . . . . . . . . . . . . 38

2.9 Schematic of three-mass drivetrain model with a geared branch. . . . 39

3.1 Drivetrain between engine and dynamometer. . . . . . . . . . .. . . 44

3.2 Fluid damper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

3.3 Flexible engine pallet mounts. . . . . . . . . . . . . . . . . . . . . .45

3.4 Compliant element stiffness test. . . . . . . . . . . . . . . . . . . . . 48

3.5 Measured response of the Hohner encoder atω = 3200 rpm. . . . . . 51

3.6 Hohner encoder and Ruland coupling. . . . . . . . . . . . . . . . . .51

4.1 Measured in-cycle speed for the YZ250 engine with two different driv-etrains. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

4.2 Measured BMEP for the YZ250 engine with two different drivetrains. 53

4.3 Measured BSHC for the YZ250 engine with two different drivetrains. 54

x

4.4 Measured DR for the YZ250 engine with two different drivetrains. . . 55

4.5 Measured TE for the YZ250 engine with two different drivetrains. . . 55

4.6 Measured CE for the YZ250 engine with two different drivetrains. . . 56

4.7 Measured exhaust pressure versus crank angle for the YZ250 enginewith two different drivetrains at 2950 rpm. . . . . . . . . . . . . . . . 57

4.8 Measured open cycle crank speed fluctuations atω = 2950 rpm. . . . 57

4.9 Predicted exhaust pressure traces atω = 2950 rpm, Low Inertia andHigh Inertia drivetrains. . . . . . . . . . . . . . . . . . . . . . . . . . 59

4.10 Predicted mass flow rate through the transfer ports atω = 2950 rpm,two different drivetrains. . . . . . . . . . . . . . . . . . . . . . . . . 59

4.11 Calculated MFB versusθ profiles for the YZ250 with two differentdrivetrains. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

4.12 Measured crank speed profiles atω = 3750 rpm around the combustionevent for the YZ250 with two different drivetrains. . . . . . . . . . . 61

4.13 Calculated MFB versust for the YZ250 with two different drivetrains. 61

4.14 Measured versus predicted BMEP for the YZ250 with the High Inertiadrivetrain. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

4.15 Measured SE/SR for the modified YZ250 cylinder . . . . . . . . . . . 64

4.16 Measured versus predicted DR for the YZ250 with the HighInertiadrivetrain. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

4.17 Measured versus predicted TE for the YZ250 with the HighInertiadrivetrain. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

4.18 Measured versus predicted CE for the YZ250 with the HighInertiadrivetrain. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

4.19 Measured and predicted CE versus BMEP for the YZ250. . . .. . . . 66

4.20 Two assumed FMEP profiles for a stroke length of 68.8 mm. . . . . . 67

4.21 Predicted PMEP characteristic for the YZ250. . . . . . . . .. . . . . 68

4.22 Measured versus predicted BSFC for the YZ250 with the High Inertiadrivetrain. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

xi

4.23 Measured versus predicted exhaust pressure versus crank angle atω =2950 rpm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

5.1 Measured and predicted speed within the cycle at 2950 rpm. . . . . . 71

5.2 First harmonic frequency response for the Low Inertia drivetrain. . . . 72

5.3 Calculatedτgas andω′/ω versus crank angle at three different meanspeeds. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

5.4 A generalised first order damped resonant response. . . . .. . . . . . 74

5.5 Measured and predicted response in the 1st through 4th harmonics. . . 75

5.6 Measured and predicted response in the 5th through 8th harmonics. . . 76

5.7 Nyquist plot of the measured frequency response in the 3rd harmonic. 78

5.8 Model of nonlinear behaviour of springk45. . . . . . . . . . . . . . . 79

5.9 Measured and predicted response in the 1st through 4th harmonics in-cluding nonlinear behaviour. . . . . . . . . . . . . . . . . . . . . . . 80

5.10 Measured and predicted response in the 5th through 8th harmonics in-cluding nonlinear behaviour. . . . . . . . . . . . . . . . . . . . . . . 81

5.11 Predicted frequency response of the analytical versusnumerical method,not including the non-linear effects. 1st through 4th harmonics. . . . . 84

5.12 Predicted frequency response of the analytical versusnumerical method,not including the non-linear effects. 5th through 8th harmonics. . . . . 85

5.13 Predicted frequency response of the analytical versusnumerical method,including the non-linear effects. 1st through 4th harmonics. . . . . . . 88

5.14 Predicted frequency response of the analytical versusnumerical method,including the non-linear effects. 5th through 8th harmonics. . . . . . . 89

5.15 Measuredω(θ) profiles with the engine running steady-state againstthe dynamometer and with the dynamometer turned off. . . . . . . . . 91

5.16 Predicted in-cycle speed of the dynamometer rotor shaft. . . . . . . . 92

6.1 Measured speed profile for the YZ400F engine atω = 6500 rpm. . . . 96

6.2 Predicted BMEP characteristics for the YZ400F engine. .. . . . . . . 97

xii

6.3 Predicted IMEP characteristics for the YZ400F engine. .. . . . . . . 97

6.4 Predicted CE characteristics for the YZ400F engine. . . .. . . . . . 98

6.5 Predicted DR characteristics for the YZ400F engine. . . .. . . . . . 98

6.6 Predicted TE characteristics for the YZ400F engine. . . .. . . . . . . 99

6.7 Predicted PMEP characteristics for the YZ400F engine. .. . . . . . . 99

6.8 Speed profiles during the exhaust period of the YZ400F engine at6500 rpm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

6.9 Cylinder, exhaust, and intake pressures during the exhaust period forthe YZ400F engine at 6500 rpm. . . . . . . . . . . . . . . . . . . . . 101

6.10 Speed profiles during the intake period of the YZ400F at 6500 rpm. . 101

6.11 Cylinder, exhaust, and intake pressures during the intake period for theYZ400F engine at 6500 rpm. . . . . . . . . . . . . . . . . . . . . . . 102

6.12 Measured in-cycle speed fluctuations for the YZ400F engine. . . . . . 103

6.13 In-cycle speed fluctuations for the YZ400F engine predicted by thefree-mass model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

6.14 Predicted BMEP for the YZ400F engine with measured dataversusfree-mass model data input into the simulator. . . . . . . . . . . .. . 104

6.15 Family of curves showing effect of gear ratio on the velocity profile ofthe YZ400F at 6500 rpm. . . . . . . . . . . . . . . . . . . . . . . . . 105

6.16 Measured in-cycle speed fluctuations for the RS125 engine. . . . . . . 106

6.17 τgas predictions for the GP 500 engines at 9000 rpm. . . . . . . . . . . 107

6.18 τirp versus crank angle for the GP 500 engines at 9000 rpm. . . . . . . 108

6.19 Torque andω predictions for the GP 500 engines at 9000 rpm. . . . . 109

6.20 BMEP characteristics of the GP 500 engines. . . . . . . . . . .. . . 109

6.21 DR characteristics of the GP 500 engines. . . . . . . . . . . . .. . . 110

6.22 TE characteristics for the GP 500 engines. . . . . . . . . . . .. . . . 110

6.23 Cylinder, exhaust, and transfer pressures for the GP 500 engines at9000 rpm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

xiii

6.24 Open cycle speed profiles for the GP 500 engines at 9000 rpm. . . . . 112

6.25 Charge mass flow rate through the transfer ports for the GP 500 enginesat 9000 rpm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

6.26 Speed fluctuation profiles for the GP 500 engines. . . . . . .. . . . . 114

6.27 BMEP characteristics for the 36 cm3 utility engine. . . . . . . . . . . 115

6.28 CE characteristics for the 36 cm3 utility engine with and without speedfluctuations input into the engine simulator. . . . . . . . . . . . .. . 115

6.29 In-cycle speed fluctuations at 5000 rpm for the 36 cm3 utility enginepredicted by the two-mass model. . . . . . . . . . . . . . . . . . . . 116

6.30 In-cycle torque andω predictions for the three-cylinder marine out-board engine at 2500 rpm. . . . . . . . . . . . . . . . . . . . . . . . . 117

6.31 BMEP characteristics for the marine outboard engine. .. . . . . . . . 117

B.1 Gas flow diagram for the modified YZ250 engine. . . . . . . . . . .. 127

B.2 Gas flow diagram for the GP 125 engine. . . . . . . . . . . . . . . . . 131

B.3 Gas flow diagram for the GP 500 two-stroke engines. . . . . . .. . . 135

B.4 Gas flow diagram for the 36 cm3 engine. . . . . . . . . . . . . . . . . 136

B.5 Gas flow diagram for the marine outboard engine. . . . . . . . .. . . 138

B.6 Gas flow diagram for the Yamaha YZ400F engine. . . . . . . . . . .140

C.1 Fluid damper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

C.2 Simplified cross-section of the fluid damper. . . . . . . . . . .. . . . 144

xiv

LIST OF TABLES

2.1 Two-stroke engines general characteristics. . . . . . . . .. . . . . . 13

2.2 General parameters of the modified YZ250 engine. . . . . . . .. . . 15

2.3 General parameters of the GP 125 engine. . . . . . . . . . . . . . .. 17

2.4 General parameters of the GP 500 engine. . . . . . . . . . . . . . .. 18

2.5 General parameters of the 36 cm3 utility engine. . . . . . . . . . . . . 19

2.6 General parameters of the marine outboard engine. . . . . .. . . . . 20

2.7 General parameters of the YZ400F four-stroke engine. . .. . . . . . 21

3.1 Research engine drivetrain characteristics. . . . . . . . .. . . . . . . 49

4.1 Modified YZ250 predicted performance at 2950 rpm. . . . . . .. . . 58

4.2 Modified YZ250 measured performance at 2950 rpm. . . . . . . .. . 58

6.1 List of engines studied. . . . . . . . . . . . . . . . . . . . . . . . . . 94

6.2 Methods used to generate in-cycle speed data for each engine. . . . . 95

B.1 Port systems of the modified YZ250 engine. . . . . . . . . . . . . .. 127

B.2 Burn characteristics of the modified YZ250 engine. . . . . .. . . . . 128

B.3 Cd for the butterfly valve (inflow). . . . . . . . . . . . . . . . . . . . 128

B.4 Cd for the butterfly valve (outflow). . . . . . . . . . . . . . . . . . . . 128

B.5 Cd for the modified YZ250 engine transfer ports (inflow). . . . . . .. 129

B.6 Cd for the modified YZ250 engine transfer ports (outflow). . . . . .. 129

B.7 Cd for the modified YZ250 engine exhaust ports (inflow). . . . . . . .129

B.8 Cd for the modified YZ250 engine exhaust ports (outflow). . . . . . .129

B.9 Exhaust pipe wall temperatures for the modified YZ250 engine. . . . 130

xv

B.10 Port systems of the GP 125 engine. . . . . . . . . . . . . . . . . . . .131

B.11 Burn characteristics of the GP 125 engine. . . . . . . . . . . .. . . . 132

B.12 Cd for the slide throttle (inflow). . . . . . . . . . . . . . . . . . . . . 132

B.13 Cd for the slide throttle (outflow). . . . . . . . . . . . . . . . . . . . . 132

B.14 Cd for the GP 125 engine side transfer ports (inflow). . . . . . . . . .133

B.15 Cd for the GP 125 engine side transfer ports (outflow). . . . . . . . .. 133

B.16 Cd for the GP 125 engine boost transfer port (inflow). . . . . . . . . .133

B.17 Cd for the GP 125 engine boost transfer port (outflow). . . . . . . . .133

B.18 Cd for the GP 125 engine exhaust port (inflow). . . . . . . . . . . . . 134

B.19 Cd for the GP 125 engine exhaust port (outflow). . . . . . . . . . . . . 134

B.20 Port systems of the 36 cm3 engine. . . . . . . . . . . . . . . . . . . . 136

B.21 Cd for the 36 cm3 engine transfer ports (inflow). . . . . . . . . . . . . 137

B.22 Cd for the 36 cm3 engine transfer ports (outflow). . . . . . . . . . . . 137

B.23 Cd for the 36 cm3 engine exhaust port (inflow). . . . . . . . . . . . . 137

B.24 Cd for the 36 cm3 engine exhaust port (outflow). . . . . . . . . . . . . 137

B.25 Port systems of the marine outboard engine. . . . . . . . . . .. . . . 138

B.26 Cd for the slide throttle (inflow). . . . . . . . . . . . . . . . . . . . . 139

B.27 Cd for the slide throttle (outflow). . . . . . . . . . . . . . . . . . . . . 139

B.28 Poppet valve systems of the Yamaha YZ400F engine. . . . . .. . . . 140

B.29 Burn characteristics of the Yamaha YZ400F engine. . . . .. . . . . . 141

B.30 Cd for the Yamaha YZ400F engine intake valves (inflow). . . . . . . .141

B.31 Cd for the Yamaha YZ400F engine intake valves (outflow). . . . . . .141

B.32 Cd for the Yamaha YZ400F engine exhaust valves (inflow). . . . . . .142

B.33 Cd for the Yamaha YZ400F engine exhaust valves (outflow). . . . . .142

C.1 Properties of the fluid damper. . . . . . . . . . . . . . . . . . . . . . 147

xvi

NOMENCLATURE

SymbolsA Fourier series cosine amplitude of motion response, radA Fourier series cosine amplitude of forcing function, N mAp projected area of the piston, m2

a location of the centre of mass of the connecting rod, mB Fourier series sine amplitude of motion response, radB Fourier series sine amplitude of forcing function, N mC torsional damping coefficient matrix, N m s/radCd coefficient of dischargec torsional damping coefficient, N m s/radF forcing function matrix, N mf matrix of sinusoid coefficients of forcing function~f vector of sinusoid coefficients of forcing functiong gear reduction ratio, rad/radi vibration harmonic numberJ mass moment of inertia, kg m2

K torsional stiffness matrix, N m/radk torsional stiffness, N m/radLcr kinematic length of connecting rod, mLct crankshaft throw distance, mLst piston swept stroke distance, mm mass flow rate, kg/sn lumped mass station numberPcyl cylinder pressure, barPex exhaust duct pressure, barPint intake duct pressure, barPtr transfer duct pressure, bart time, s

Greek Symbolsα angular acceleration, rad/s2

θ angular position, radθ rate of change of angular position, rad/sθ angular acceleration, rad/s2

ρ vibration harmonic amplitude, various unitsτ torque, N mτgas torque due to gas pressure, N m

xvii

τirp torque due inertia of reciprocating parts, N mτrod torque due to rotation of connecting rod, N mφ vibration harmonic phase, radω “instantaneous” (actually averaged over a 1◦ interval) angular velocity, rad/sω cycle-averaged angular velocity, rad/sω′ in-cycle angular velocity fluctuation amplitude, rad/s

AcronymsABDC crankshaft position after bottom dead centre,◦

AFR air/fuel ratio, kg/kgATDC crankshaft position after top dead centre,◦

BBDC crankshaft position before bottom dead centre,◦

BMEP brake mean effective pressure, kPaBSHC brake specific hydrocarbon emissions, g/kWhBTDC crankshaft position before top dead centre,◦

CE charging efficiency, kg/kgDR charge delivery ratio, kg/kgEC exhaust valve close,◦

EO exhaust valve open,◦

EPC exhaust port close,◦

EPO exhaust port open,◦

FMEP friction mean effective pressure, kPaIC intake valve close,◦

IMEP indicated mean effective pressure, kPaIO intake valve open,◦

PMEP pumping mean effective pressure, kPaSE scavenging efficiency, kg/kgSR scavenge ratio, m3/m3

SV swept volume, m3

TDC piston top dead centre position, mTE charge trapping efficiency, kg/kgTPC transfer port close,◦

TPO transfer port open,◦

xviii

1. INTRODUCTION

1.1 General

With the invention of solid-state computers, solving detailed mathematical models of

reciprocating internal combustion engines became feasible. Models based on physi-

cal principles of heat and mass transfer, fluid dynamics, thermodynamics, and chem-

istry have been developed (e.g. Assanis & Heywood 1986, Blair 1996, 1999). These

are complex algorithms made up of many sub-models that represent each system of a

working engine. One of the simplifications in many of the models is the assumption

of quasi-steady state. While valid for some engine operation regimes, a large propor-

tion of the operation for some vehicles involves transient engine speed, load, air/fuel

mixture, pressure, or temperature. For example:

1. Three-way catalysts found in the exhaust systems of sparkignition automotive

engines require that the fuel mixture continually dither back and forth about

stoichiometry to effect the chemical reactions.

2. Turbochargers found in medium-duty and heavy-duty diesel engines often have

enough inertia to significantly lag the demanded engine load.

3. Modern emissions drive cycles specify several speed and load transients during

the test.

4. Racing engines used in sprint style racing spend very little time at steady engine

speed, so nearly all of the operation is transient.

1

2

Sub-models that accurately predict engine performance dueto drivetrain dynamics,

fuel transients, pipe wall temperatures, and sensor and actuator lags are in great de-

mand.

The objective of this project was to study transient behaviour with the goal to develop

software methods to incorporate it into an engine simulator.

A traditional simplifying assumption used when examining engine behaviour is that the

crankshaft angular velocity is constant within the cycle Assanis & Heywood (1986),

Blair (1996, 1999). In reality, because energy is applied tothe crankshaft in pulses, the

reciprocating components have nonzero mass, and the rotating components have finite

inertia, the rotational speed fluctuates within the cycle. This fluctuation in some cases

is large enough to significantly affect the performance of the engine (Filipi & Assanis

1997, Zhang et al. 1997).

1.2 Internal Torques on the Crankshaft

The total internal torque on the crankshaft arises from three main sources: the torque

due to the difference in gas pressure above and below the piston (τgas), the torque due

to accelerating the nonzero mass of the reciprocating components along the bore axis

(τirp), and the torque to accelerate the bottom portion of the connecting rod back and

forth perpendicularly to the bore axis (τrod). To get a general idea of how these torques

contributes to in-cycle speed fluctuations, we can examine the results of a simple anal-

ysis of each in turn. Appendix A shows the derivations in detail.

Taking a single-cylinder two-stroke engine with a swept volume of 250 cm3 and a

massless reciprocating assembly as an example, we can see the trend in fluctuation

3

intensity with increasing rotational inertia and with increasing pressure intensity by

examining the result of Equation A.6 from the appendix,

ω′

ω=

2 · IMEP ·ApLst

Jω 2+ 1− 1, (1.1)

which is plotted for several values of indicated mean effective pressure (IMEP) in Fig-

ure 1.1. In the equation,J is the mass moment of inertia of the rotating assembly,Ap

is the projected area of the piston,Lst is the swept stroke,ω′ is the in-cycle speed fluc-

tuation amplitude, andω is the cycle-averaged rotational speed. Plotted is a familyof

curves at different IMEP from 0.2 MPa to 1.2 MPa withω held to a constant 2750 rpm.

As J increases,ω′/ω should decrease because a given torque imparts a smaller angular

acceleration. We can also see thatω′/ω would increase with higher IMEP, because

higher IMEP means the pulses delivered to the piston are moreenergetic.

Next, consider the trend in fluctuation intensity with increasingω. Figure 1.2 shows the

relationship. The relative fluctuation amplitudes decrease with increasingω because

higherωmeans more kinetic energy in the rotating assembly, so a given pulse of energy

from τgas would change the total energy by a smaller proportion. A variety of inertias

are also plotted, to complete the analysis. With increasinginertia, more energy is

required to change its speed. Hence, the family of curves approaches the origin with

increasingJ.

Note that throughout this document, the dimensionless ratioω′/ω recurs frequently. It

provides a compact, meaningful quantification of the magnitude of the in-cycle speed

fluctuations above and below the cycle-averaged speed.

Next, relax the assumption of a massless reciprocating assembly, assume a quasi-steady

state such thatω is constant, and assume an infinitely long connecting rod. This gives

Equation (A.13), which is reproduced here for convenience:

ω′irp

ω=−Lct

2(

mp + a′mc

)

2J− 1. (1.2)

4

0.01 0.02 0.03 0.04 0.05 0.060.00

0.05

0.10

0.15

0.20

0.25

0.30

0.35

J (kg m2)

ω′ /ω

IMEP = 1.2 MPa

1.0

0.8

0.60.4

0.2

Figure 1.1: Amplitude of in-cycle speed fluctuations arising from torque due to net gas pressureon the piston (τgas). Data are normalised toω and plotted againstJ and IMEP. Aconstantω of 2750 rpm and a swept volume of 250 cm3 are assumed. A simplifiedanalysis (see Appendix A) was used to generate these data.

2000 4000 6000 8000 10000 12000 140000.00

0.05

0.10

0.15

0.20

0.25

0.30

ω′ /ω

ω (rpm)

J = 0.01 kg m2

0.02

0.03

0.04

0.05

0.06

Figure 1.2: Normalised amplitude of in-cycle fluctuations due toτgas versusω andJ. A con-stant IMEP of 0.8 MPa and a swept volume of 250 cm3 were assumed. A simplifiedanalysis was used to generate these data.

5

Massmp is the mass of the piston assembly (piston, pin, etc.),mc is the mass of the

connecting rod,ω′irp is the fluctuation due toτirp, anda′ is the position of the centre of

mass of the connecting rod as a proportion of the rod kinematic length. Equation (1.2)

shows that the normalised fluctuation amplitude due toτirp is a function of the engine

component characteristics only, and not correlated to either engine speed or IMEP. For

high speed engines, therefore, thoughω′/ω due toτgas may diminish,ω′/ω due toτirp

will not, especially if the reciprocating components have ahigh mass relative to the

mass moment of inertia of the rotating assembly.

From the above analysis, we can see that the following parameters lead to high fluctu-

ation amplitudes:

• high IMEP

• low firing frequency

• low rotating mass moment of inertia

• high reciprocating mass

A four-stroke cycle cylinder imparts only one firing pulse intwo revolutions while

a two-stroke imparts two. A single-cylinder engine has one pulse per operating cy-

cle while a multi-cylinder engine has several. Lower rotational inertia means a given

torque will impart a larger angular acceleration. Finally,higher IMEP means the pulses

delivered to the piston are more energetic.

For the fluctuations to have an effect on the engine performance at a given speed, they

must significantly change the mass of trapped air and fuel (the charging efficiency), the

pumping power to deliver the trapped charge and expel exhaust gasses, the combustion

efficiency, or the friction.

6

High performance engines that rely heavily on wave dynamic effects to increase the

charging efficiency tend to be sensitive to engine speed. This is because these effects

result from synchronisation between the port or valve events, which are tied to the

crankshaft motion, and the wave reflections in the ducts, which are time-dependent

and independent of crankshaft motion. This sensitivity to engine speed often results

in a steep torque versus speed characteristic. Therefore, engines that produce a steep

torque curve would be expected to be sensitive to in-cycle speed fluctuations. So, it is

a combination of high in-cycle speed fluctuations and a sensitivity to them that would

cause an engine to display significant changes in performance due to drivetrain effects.

By investigating the behaviour of a variety of small engineswith different drivetrains

connected to them, insight into drivetrain effects on engine performance could be

gained. By modelling the engines in a complex engine simulator and inputting the

measured in-cycle speed fluctuations from a firing engine, insight into the cause for

any changes in behaviour could be understood. Because in-cycle speed fluctuations

represented a relaxation of an existing simplifying assumption in the engine simula-

tor, experiments would need to be done to validate any predicted change in engine

performance. Once this combination of a complex engine simulation with in-cycle

speed fluctuations was validated, then a mathematical modelof the drivetrain motion

response could be developed to provide the in-cycle speed data without experimenta-

tion, which is difficult and costly.

A variety of small engines was chosen for study. First, a research engine with a

purpose-built drivetrain was studied in depth for both engine performance analysis and

drivetrain motion response analysis. Complex drivetrain models were built using both

a numerical and an analytical method for calculating the motion response given a pres-

sure versus crank angle characteristic. The engine itself was modelled in an existing

complex engine simulator,Virtual Two-Strokeby O Power Technology. Simu-

7

lations were run and the behaviour of the engine with different drivetrains was studied.

The validity of these predicted behaviours was then proven by experimentation.

With the validated drivetrain motion/engine model combination, the rest of the engines

were studied. These included several two-stroke engines and also a four-stroke, single-

cylinder and multi-cylinder engines, engines with low inertia rotating assemblies and

high inertia rotating assemblies, and engines sensitive toin-cycle speed fluctuations

and insensitive to fluctuations. From these, a complete picture of drivetrain effects on

engine performance could be painted.

1.3 Literature Review

In-cycle engine crankshaft velocity variation is well understood by drivetrain model-

ers. However, the typical impetus for drivetrain study is component design optimisa-

tion to avoid either damage due to torsional resonances (e.g. Williamson 1968, Tecco

& Grohnke 1986, Petkus & Clark 1987, Keeney & Shih 1992), noise and vibration

(e.g. Joyner 1978, Fudula et al. 1987, Birkett et al. 1991), or part-specific problems

such as gear rattle (Fudula et al. 1987, Padmanabhan et al. 1995), or vibrations due

to non-constant velocity joints (Kar 1982, Birkett et al. 1991). Drivetrain studies are

plentiful among not only terrestrial vehicles, but also marine vehicles (e.g. Griffin et al.

1994). The general intent of the above literature was to provide design tools for en-

gineering the drivetrain itself, not to examine drivetraindynamic effects on engine

performance. Some studies discussed drivetrain dynamic effects on the performance

of the whole vehicle, especially where gyroscopic forces are significant, such as mo-

torcycles (Kimishima et al. 1997) or helicopters (e.g. Lawrence & Smith 1996), but

again mentioned no drivetrain effect on engine performance.

The typical method for modelling engine-induced drivetrain vibration is to assume a

torque versus crank angle profile as the forcing function into a mass-elastic model of

8

the drivetrain (Wilson 1963, Williamson 1968, Keeney & Shih1992). This torque

profile is usually either inferred from firing cylinder pressure data combined with cal-

culated torque due to reciprocating inertias, or some simplified profile (e.g. Scotson &

Heath 1996). Still, these methods inherently assume that the torque profile is given,

and that the drivetrain dynamics do not in turn affect engine performance.

Instead of using empirically derived crankshaft torque data as input into the drivetrain

model, some researchers have used engine simulations of varying complexity to predict

the torque profile. Some researchers injected a pseudo random binary sequence into

the speed governor of a large diesel engine in an attempt to characterise the dynamic

operation (Windett & Flower 1974, Flower & Windett 1976). However, they reported

inconsistent results. This was likely due to the assumptionof a constant time inter-

val instead of a constant crankshaft rotational angle interval (Filipi & Assanis 1997,

Rizzoni, Wang & Drakunov 1995).

Benson (1971) and Benson et al. (1973) discussed transient engine performance and

included a drivetrain in their engine model. But, their mainobjective was to study

turbocharger lag effects on diesel engines, and therefore did not discuss in-cycle speed

variations. Winterbone et al. (1977) also studied the dynamics of a turbocharged diesel

engine and included a more complex “filling and emptying” model for intake and ex-

haust gas behaviour, but again discussed only mean engine speed characteristics, not

in-cycle fluctuations. Neither of these studies incorporated detailed port area versus

piston position calculations.

Baruah (1990) studied transient operation of spark-ignition engines. The study in-

cluded a detailed engine model that incorporated unsteady wave dynamics in the in-

take and exhaust systems. A vehicle model was coupled to the engine via a geartrain.

However, the engine speed was assumed constant during the cycle and was updated

only between cycles, ignoring in-cycle speed fluctuations.

9

Berglund (1993, 1994) discussed the transients of a turbocharged diesel engine with

a mass-elastic drivetrain model. However, the engine modelused simple quasi-steady

thermodynamic assumptions. The time scale of interest was 1–6 s, so pressures were

integrated over a time scale of 0.1 s, which represented more than ten revolutions at the

mean tested speeds. Clearly, in-cycle speed fluctuations were outside the scope of this

study.

Techniques for inverting a dynamic engine model in order to estimate crankshaft torque

and cylinder pressures have been presented (Rizzoni & Zhang1993, Rizzoni, Drakunov

& Wang 1995, Rizzoni, Wang & Drakunov 1995). Using similar concepts, Connoly

& Rizzoni (1991) and Rizzoni et al. (1994) discussed means for detecting engine mis-

fire by continuously observing the instantaneous crankshaft speed. While torque and

cylinder pressure are valuable data for describing engine performance, they are not

enough to predict how the engine would react to a given in-cycle speed fluctuation.

Some means to predict the trapped charge mass, primarily, would be required.

Hong (1995) developed a whole-vehicle simulator that included engine mechanical

transients, a “filling and emptying” based engine model per Heywood (1988, pp. 754–

755), wave dynamic models for intake and exhaust, a Wiebe heat release combustion

model, and a transient temperature model for the cylinder and pipes. But, the study

assumed a stiff driveline and made no mention of changing engine performance due to

unsteady crankshaft angular velocity.

Bergeon & Newman (1995) presented a detailed engine model connected to a drive-

train simulator. The engine model included complex valve and port flow models and a

complex flame development combustion model. However, it used a zero-dimensional

model for intake and exhaust ducting. The objective of the study was to analytically

determine torque harmonics for use in drivetrain durability development, not to exam-

ine engine performance. Boysal & Rahnejat (1997) discusseda complex mechanical

10

model built in ADAMS that included such details as bearing hydrodynamic action un-

der rolling and squeeze film action, with the intent of accurately predicting noise and

vibration. The engine model used a Wiebe heat release function, but the method for

determining trapped charge mass was not reported.

Assanis & Heywood (1986) presented a complex engine model that became the basis

for several later studies. It introduced the zero-dimensional, quasi-steady “filling and

emptying” model for manifolds, and tabulated valve area andflow discharge coeffi-

cients versus crank angle. The combustion model in their system included chemical

dissociation kinetics at high cylinder temperatures, and ignition delay based on the Ar-

rhenius expression. Filipi & Assanis (1997) and Zhang et al.(1997) further developed

the model to include drivetrain dynamic effects for single-cylinder and multi-cylinder

diesel engines. Their work expanded the basic model to allowtransient crankshaft an-

gular velocity behaviour. They reported changes in engine performance due to in-cycle

speed fluctuations. They attributed them to changes in friction due to instantaneous

speed throughout the cycle per Marek et al. (1991), changingturbulence intensity de-

pending on instantaneous piston speed, heat transfer ratesto the cylinder, head, and

piston surfaces, gas pressure rate effects on ignition delay, and peak pressure timing

effects. However, perhaps due to the diesel cycle operation, nomention of perfor-

mance differences due to changing time-area versus versus intake air ramming, exhaust

trapping, or exhaust scavenging pulses was made.

Parker & Rizzoni (1999) presented a non-steady model of a light aircraft engine cou-

pled to a complex mechanical dynamics model. The engine simulation included the

“filling and emptying” manifold gas flow model, a Wiebe heat release combustion

model, a temperature based friction model, and a transient fuel model based on the

wall-wetting concept per Aquino (1981). The mechanical dynamics model included

engine reciprocating inertias and a variable pitch propeller model. While they noted

11

variations of the angular velocity of the crankshaft, no mention was made about their

effects on engine performance.

1.4 Summary

There is much literature on either drivetrain modelling or engine modelling, and some

on modelling both together. Relatively few studies involved complex engine models,

and only Filipi & Assanis (1997) mentioned changes in predicted performance due to

in-cycle speed fluctuations.

1.5 Objectives

The objectives of this study were to:

• Add functionality to the complex engine modelersVirtual Two-StrokeandVirtual

Four-Stroke, enabling them to include the effects of in-cycle speed fluctuations.

• Examine a variety of small engines that spanned the dimensions from low to high

in-cycle speed fluctuation amplitude, and from low to high sensitivity to these

fluctuations, to gain insight into drivetrain effects on small engine performance.

• Develop numerical and analytical models of drivetrain motion to predict the in-

cycle speed fluctuations without the need for physical experiments.

• Determine how complex or simple the drivetrain models needed to be to predict

the drivetrain motion with enough accuracy to sufficiently predict the changes in

engine performance.

• Validate both the new functionality of the engine simulatorand the new drivetrain

models with physical experiments.

2. SOFTWARE MODELLING METHOD

2.1 Overview

This chapter describes the two sets of mathematical models used in this study. The first

set modelled the engine itself, and the second set modelled the mechanical dynamics of

the reciprocating assembly and rotating assembly of the engine and the driveline. By

solving the equations of thermodynamics, fluid dynamics, thermochemistry, and heat

transfer of the gasses, and kinematics and heat transfer of the solid mechanical parts,

the engine behaviour can be fully characterised. By solvingthe equations of motion

for all reciprocating and rotating components, the drivetrain behaviour too can be fully

characterised.

2.2 Virtual Two-StrokeEngine Model

The engine simulator used for the two-stroke engines in thisstudy wasVirtual Two-

Strokeby O Power Technology (Pittsburgh, PA, USA). The foundation forthe

software was the research done at QUB over several decades, and was detailed by Blair

(1996). The model included unsteady, non-isentropic, 1-D gas dynamics, complex me-

chanical models of port and reed valve timing, and a two-zonecombustion model that

included a Wiebe heat release function and elementary chemical dissociation reactions.

Several two-stroke engines were used in this study. Table 2.1 summarises the general

characteristics of each. All were spark ignition, crankcase-scavenged engines. Detailed

models of each engine were developed inVirtual 2-Stroke.

12

13

Table 2.1: Two-stroke engines general characteristics.

engine cylinders exhaust

Research Engine 1 tuned diverging-converging pipeGP 125 1 tuned diverging-converging pipeGP 500 4 tuned diverging-converging pipe

hand-held utility 1 untunedmarine outboard 3 cross-charged manifold

2.2.1 Research Engine (YZ250) Model

The first to be examined was a research engine based on a YamahaYZ250 motocross

engine. The machine, shown in Figure 2.1, was a high performance, single-cylinder,

spark ignition, two-stroke, crankcase scavenged unit witha tuned exhaust and reed

valve intake. With its combination of a low inertia crankshaft and flywheel, high IMEP,

and single-cylinder design, it presented a good example of an engine exhibiting large

speed fluctuations within the cycle. The charging efficiency of a two-stroke engine of

this type is sensitive to changes in the timing of the scavenging and trapping waves ver-

sus cylinder port open area. Because the open area is controlled by the piston position,

a significant change in performance due to drivetrain effects was expected.

A detailed model of the engine was developed inVirtual 2-Stroke. General parameters

are given in Table 2.2 and detailed parameters are given in Appendix B. All relevant

geometry of the intake, transfer, and exhaust ducting was input. Because the engine

speed needed to be limited to 4500 rpm to prevent damage to a large inertia wheel in

the drivetrain (see§2.4, below, and Figure 2.3), the stock exhaust pipe was changed to a

new one with geometry designed to develop good trapping in the 3500 rpm– 4500 rpm

range. To simplify the pipe model, no silencing device was used. The pipe is shown in

Figure 2.2. In their stock configuration, the exhaust, transfer, and intake systems were

designed to deliver air and scavenge exhaust gas at engine speeds up to 8000 rpm, so

each of these systems was modified to improve operation in this reduced range. The

exhaust power valve was locked in the down position, and the two auxiliary exhaust

14

ports were blocked, leaving a simple single port. Note, however, that the power valve

did not seal tightly against the piston ring. Therefore, a narrow opening starting at

the the top of the port window was included in the exhaust portmodel and trapped

swept stroke was assumed to start at the top of the opening, not at the bottom of the

power valve. The transfer port windows were lowered to 8.8 mm total height using

epoxy filler. To simplify the model, the reed valve block was repositioned to feed the

crankcase directly in lieu of the stock quasi-piston-port arrangement.

Figure 2.1: Research engine based on Yamaha YZ250.

The cylinder’s scavenging efficiency versus scavenge ratio characteristic was measured

on QUB’s single-cycle scavenging rig and input into the engine model. See the discus-

sion by Sweeney et al. (1985) for details of this test procedure. High-speed cylinder

15

Table 2.2: General parameters of the modified YZ250 two-stroke engine.

characteristic value/description

bore 68.0 mmstroke 68.8 mmswept volume 250 cm3

connecting rod kinematic length 127 mmfuel gasolinecylinder trapped compression ratio 7.3 : 1†

crankcase compression ratio 1.33 : 1intake type 6-petal reed in V-blockexhaust type tuned diverging-converging pipesilencer nonefuel delivery carburettorcylinder ports 5 transfer, 1 exhaustexhaust power valve fixed in down positionignition sparkignition timing fixed at 12◦ BTDChead design hemispherical chamberburn characteristics taken from measurements on running engineexhaust opening angle 95.7◦ ATDCtransfer opening angle 132◦ ATDCpeak power speed 4250 rpmpeak BMEP 0.8 MPa† Though the power valve was in the down position, trapped swept stroke was assumed to start at the

top of the power valve opening.

Pex

Tgas

TgasTskin

Tskin

gas sampling port

Figure 2.2: Tuned exhaust system for the research engine, shown alongside a 1 m rule. Anno-tations show the positions of the exhaust gas sampling port,exhaust pressure sensor(Pex), gas temperature thermocouples (Tgas), and skin temperature thermocouples(Tskin).

16

pressure measurements were recorded and Wiebe fuel heat release coefficients, igni-

tion delay, and ignition duration data were calculated fromthe cylinder pressure versus

volume characteristic. These coefficients were input into the model. The assumed ther-

mochemical properties of the fuel were an energy of combustion of 43.5 MJ/kg, a heat

of vaporisation of 420 kJ/kg, and a mean molecular oxygen to carbon ratio of 1.95.

These were the “gasoline” defaults supplied with the software, however the actual test

fuel was a mix of premium unleaded gasoline with 3.3% by volume Shell Advance 2T

lubricating oil.

Exhaust pipe wall temperatures were measured at four pointsalong the length with

K-type thermocouples brazed onto the top surface. Using linear interpolation and ex-

trapolation, a complete profile of wall temperature versus length from the piston face

to the tip of the stinger was produced for each simulated engine speed. These pro-

files were input into the model, which calculated the heat transfer between the exhaust

gasses and the walls. It assumed transfer by convection fromthe exhaust gas to the

pipe walls, which were assumed to be infinite masses with temperature fixed to the

given temperature versus position profiles.

Ambient temperature, pressure, and humidity were measuredand input into the model.

The fuel delivery rate was adjusted to fix the air/fuel ratio to a nominal 12:1 during all

tests. This ratio was assumed in the model. Because single-cylinder two-stroke engines

exhibit large fluctuations and reversals in the intake air flow, a 6280 cm3 plenum in

series with a 417000 cm3 plenum was added between the engine and the flow sensor to

avoid measurement errors. The geometry of these plenums andthe connecting pipes

were input into the model.

17

2.2.2 Other Two-Stroke Engines Modelled

In addition to the research engine, a GP 125 engine, a GP 500 engine, a hand-held

utility engine, and a marine outboard engine were simulated. The GP 125 engine was

modelled similarly to the YZ250 research engine. Dual plenums in series supplied in-

take air to the carburettor. Relevant intake pipe, crankcase, and exhaust pipe wall tem-

peratures were measured and input into the model. General parameters of the GP 125

engines are given in Table 2.3 and detailed parameters are given in Appendix B.

Table 2.3: General parameters of the GP 125 engine.

characteristic value/description

bore 54.0 mmstroke 54.5 mmswept volume 125 cm3

connecting rod kinematic length 107 mmfuel gasolinecylinder trapped compression ratio 8.3 : 1crankcase compression ratio 1.37 : 1intake type 6-petal reed in V-blockexhaust type tuned diverging-converging pipesilencer nonefuel delivery carburettorcylinder ports 5 transfer, 1 exhaustignition sparkhead design hemispherical chamberburn characteristics taken from measurements on Honda RS125exhaust opening angle 84◦ ATDCtransfer opening angle 114◦ ATDCpeak power speed 12500 rpmpeak BMEP 1.2 MPa

The GP 500 engine was modelled identically to the GP 125, except with four duplicated

cylinders and exhaust pipes—as the engine is arranged in theracing motorcycle. Two

firing arrangements were modelled. The first fired all four cylinders simultaneously

and the second fired the cylinders in pairs at 180◦ intervals. More details about the

two firing arrangements are provided in Chapter 6. General parameters of the GP 500

engines are given in Table 2.4 and detailed parameters are given in Appendix B.

18

Table 2.4: General parameters of the GP 500 engine.

characteristic value/description

bore 54.0 mmstroke 54.5 mmswept volume, all cylinders 499 cm3

connecting rod kinematic length 107 mmfuel gasolinecylinder trapped compression ratio 8.3 : 1crankcase compression ratio 1.37 : 1intake type four sets of 6-petal reeds in V-blocksexhaust type four tuned diverging-converging pipessilencers nonefuel delivery four carburettorscylinder ports 5 transfer, 1 exhaust per cylinderignition sparkhead design hemispherical chambersburn characteristics taken from measurements on Honda RS125exhaust opening angle 84◦ ATDCtransfer opening angle 114◦ ATDCpeak power speed 12500 rpmpeak BMEP 1.2 MPa

The utility engine was modelled after a unit used for lawn edge trimming. The model

was similar to the research engine except for its piston controlled intake port and

plenum exhaust. Table 2.5 shows the general parameters. An engine of this type will

show a relatively flat power versus engine speed characteristic, and therefore should

have been insensitive to in-cycle speed fluctuations. On theother hand, because its

rotating assembly had an especially low mass moment of inertia, the amplitude of the

fluctuations should have been quite large. General parameters of the 36 cm3 engine are

given in Table 2.5 and detailed parameters are given in Appendix B.

The marine outboard engine was a 3-cylinder 900 cm3 unit typical of a 75 kW model.

Table 2.6 outlines the general parameters. It used reed intake valves and a cross-

charged log exhaust system. An engine with this exhaust arrangement is, generally,

sensitive to the exhaust port timing (Fleck 1990, Thornhill& Fleck 1993). This sen-

sitivity, together with a rotating assembly of relatively high rotational mass moment

19

Table 2.5: General parameters of the 36 cm3 utility engine.

characteristic value/description

bore 38.0 mmstroke 32.0 mmswept volume 36.3 cm3

connecting rod kinematic length 56.0 mmfuel gasolinecylinder trapped compression ratio 7.4 : 1crankcase compression ratio 1.37 : 1intake type piston controlled portexhaust type 190 cm3 plenum and side resonatorsilencer plenum, 97 cm3

fuel delivery carburettorcylinder ports 2 transfer, 1 exhaust, 1 intakeignition sparkhead design hemispherical chamberintake opening angle 66.2◦ BTDCexhaust opening angle 105.7◦ATDCtransfer opening angle 125.4◦ATDCpeak power speed flat from 7500 rpm–9500 rpmpeak BMEP 0.35 MPa

of inertia, let the engine serve as an example opposite the hand-held utility engine. It

would be sensitive to in-cycle speed fluctuations, yet wouldexhibit only small fluctu-

ations. General parameters of the marine outboard engine are given in Table 2.6 and

detailed parameters are given in Appendix B.

20

Table 2.6: General parameters of the marine outboard engine.

characteristic value/description

bore 75.0 mmstroke 68.0 mmswept volume, all cylinders 901 cm3

connecting rod kinematic length 115 mmfuel gasolinecylinder trapped compression ratio 7.0 : 1intake type three sets of 6-petal reeds in V-blocksexhaust type cross-scavenged log manifoldsilencer nonefuel delivery three carburettorscylinder ports 2 transfer, 1 exhaust per cylinderignition sparkhead design hemispherical chambersexhaust opening angle 95.9◦ ATDCtransfer opening angle 119.9◦ATDCpeak power speed 5000 rpmpeak BMEP 0.8 MPa

2.3 Virtual Four-StrokeEngine Model

The simulator used for the four-stroke engine in this study wasVirtual 4-Stroke, again

by O Power Technology. The fundamentals of this software were the same as

Virtual 2-Stroke, except the cylinder port models were replaced by poppet valve models

and the thermodynamic cycle was changed to that of a four-stroke. Details specific to

the four-stroke model were detailed by Blair (1999).

One four-stroke engine was used in this study. It was a high performance single-

cylinder, spark ignition, normally aspirated unit with three intake valves and two ex-

haust valves. Table 2.7 summarises its general characteristics and details are provided

in Appendix B. Relevant geometrical parameters were input into the model.

The default option in bothVirtual Two-StrokeandVirtual Four-Strokewas to assume

constant crankshaft speed throughout the cycle. During this study, the software was

21

Table 2.7: General parameters of the YZ400F four-stroke engine.

characteristic value/description

bore 92.0 mmstroke 60.1 mmswept volume 400 cm3

connecting rod kinematic length 102 mmfuel gasolinemechanical compression ratio 12.5 : 1intake type straight pipeexhaust type straight pipesilencer nonefuel delivery carburettorhead design pent roof, poppet valvecylinder head ports 3 intake, 2 exhaustignition sparkburn characteristics taken from measurements of running engineexhaust opening angle 68◦ BBDCexhaust closing angle 36◦ ATDCintake opening angle 30◦ BTDCintake closing angle 66◦ ABDCpeak power speed 10000 rpmpeak BMEP 1.25 MPa

modified to allow the model to be coupled to a drivetrain simulator which predicted

in-cycle crankshaft speed variations.

22

2.4 Drivetrain Modelling

The first drivetrain to be tested was that of the research engine based on the YZ250.

The choice of a two-stroke engine obviated the need to model the complex, non-linear

behaviour of a camshaft drive, cam-follower, and poppet valve system. Furthermore,

the clutch and transmission were removed, and the crankshaft drove an eddy current

dynamometer directly via a driveshaft. A simple drivetrainwas chosen for the test rig.

A massive inertia wheel was coupled to the opposite end of thedynamometer rotor

shaft, as shown in Figure 2.3. This allowed testing the engine and drivetrain in two

modes:

1. Dynamometer operating—to give constant cycle-averagedcrankshaft speed.

2. Dynamometer switched off—to allow the engine to accelerate against the inertia

wheel.

The first mode allowed steady-state operation. This ensuredthat transient effects in the

drivetrain dynamics had ceased, and that the steady-state solution to the equations of

motion could be used. The second mode allowed full-throttleoperation while keeping

the acceleration rate low. This mode also eliminated any unknown in-cycle torque

fluctuations the dynamometer could have applied to the system, and thus the drivetrain

model only needed to include the stiffness and moment of inertia of the dynamometer

rotor and shaft assembly.

The inertia wheel was designed to achieve an acceleration rate of 10.5 rad/s2 (100 rpm

per second), which would be low enough to satisfy a quasi-steady state assumption

necessary for the drivetrain analysis, as is discussed later in §3.3. Assuming a peak

brake mean effective pressure of 0.8 MPa and a swept volume of 250 cm3, the peak

brake torque would be 32 Nm. To achieve 10.5 rad/s2, the wheel needed a mass mo-

ment of inertia of 1.4 kg m2. An inertia wheel from a previous study (McEntee 1999)

23

Engine Dynamometer InertiaWheel

Figure 2.3: Photograph of the research engine and drivetrain.

was used. It was a solid cylinder of diameter 365 mm and thickness 100 mm made

from low carbon steel. The material strength combined with the outside diameter and

bore diameter dictated a maximum rotational speed of 4500 rpm to avoid burst failure.

The relationship

St =ρω2

4[(3 + ν)R2 + (1− ν)r2] (2.1)

was used to calculate the maximum stressSt of a solid disk at rotational speedω for

a given material densityρ, outer diameterR, inner diameterr, and Poisson’s ratioν

(Oberg et al. 1992, p. 159).

Two methods for generating the data needed for input into an engine simulator were

used in this study. The first involved direct measurements from a running engine.

This method, however, is time-consuming and costly, and necessarily occurs after a

prototype engine has been built, which is relatively late inthe engineering process. An

alternate method is to use a “lumped mass” mathematical model, which can adequately

predict the drivetrain response before any prototype hardware is manufactured, and

avoids many cost and time concerns. Both methods are introduced below.

24

2.4.1 Measured Drivetrain Response

The most direct method for acquiring data needed to input into an engine simulator

is direct measurement from a running engine. The method for processing the data is

introduced here but details of the hardware are presented in§3.3.

Crankshaft position is measured at even intervals of rotational angle and the time be-

tween rotational intervals is measured simultaneously. The angular interval on the test

engine was 360 per revolution. The instantaneous angular velocity, θ, was

θ =dθdt. (2.2)

For the purposes of this study, it was convenient to define an “instantaneous” angular

velocity,ω, as the average over the one degree sampling period.

ω ≡ θ. (2.3)

By contrast, in this documentω is termed the “average” angular velocity over an entire

revolution, defined in Chapter 1.

On the test engine, the time at which a signal was received from an angular position en-

coder was recorded. This encoder was connected rigidly to the crankshaft. For further

details about this connection, see§3.4. At each angular interval of 1◦, the number from

a counter running at 20 MHz was recorded. This provided a measured datum propor-

tional to the time duration of each interval to the nearest 50ns. From Equation 2.3, the

speed resolution at the lowest tested speed of 1400 rpm was±0.588 rpm or±0.042%,

and at the highest tested speed (for the YZ250 test engine) of4500 rpm was±6.08 rpm

or ±0.407%.

These data were then input into the engine model at each simulated time step. Based on

the simulation cell containing the fastest traversing of a wave through it (the cell with

the maximum courant number) the engine model stepped forward in angle according

25

to the speed data for that crankshaft position. In this way, the software simulated the

crankshaft motion exactly as measured on the test engine.

2.4.2 Mass-Elastic Models

Measuring data from a running engine is the most robust and accurate method, but it

is also the most complicated and time consuming. A simplifiedmeans for generating

speed profiles is a mass-elastic mathematical model. The rotating parts of the engine

and all rotating parts connected to it are lumped into discrete inertias and flexible ele-

ments.

Figure 2.3 (above) shows an overall view of the test engine and drivetrain system.

Figure 2.4 shows a sketch of the rotating components of this system with the corre-

sponding major inertias labelled. Figure 2.5 shows a schematic of the same system

with the rotational inertias lumped into discrete bodiesJ0 throughJ6 and the flexible

elements lumped into discrete torsional springsk1 throughk6. This was the lumped

mass system used to model the research engine and drivetrain.

The action of the steady-state dynamometer was simulated bya force proportional to

ω, and is labelled on the schematic ascdyno. The seismic mass of a fluid damper, to be

described later in§3.3, is labelledJs, and the fluid viscosity acting on the seismic mass

is cf. The crankshaft webs, flywheel, dynamometer rotor, and inertia wheel are la-

belled, while the unlabelled inertiasJ2, J3, andJ4 are the various shafting and coupling

pieces lumped together according to local minima in the stiffnesses.

Now that the model for the rotating system has been presented, let us turn attention

to the methods used for determining the motion response given the characteristics of

the drivetrain and a forcing torque driving the system. Two different approaches were

taken: numerical and analytical.

26

Flywheel Dynamometer Rotor

Inertia Wheel

Crank WebsSpring Coupler

Fluid Damper

Figure 2.4: Sketch of the rotating components of the research engine and drivetrain.

J0

k1

J1

k2

J2

k3

J3

k4

J4

k5

J5

k6

J6

cdyno

Dynamometer

cf

Js

Flywheel Dynamometer Rotor

Inertia WheelCrank Webs

Figure 2.5: Schematic of lumped mass system used to model the research engine and drivetrain.

J0

k

J1

cloadResistiveLoad

FlexibleShaft

Cutter Head

Crankshaft,Flywheel, and

Clutch

Figure 2.6: Two-mass drivetrain model used for the 36 cm3 engine.

27

Numerical Methods

The numerical methods solved the state equations of motion at discrete time steps

within each revolution. There were around 300 to 1200 time steps per revolution,

depending on the engine and the method. As will be seen in the Results chapters,

angular motions on the order of 12◦ were the shortest of significance, so these time

steps presented plenty of resolution to describe a smooth response.

The first numerical method passed engine data fromVirtual Enginesto M, which

calculated the state of each rotating mass in the drivetrainand returned crankshaft an-

gular position and rotational velocity at the end of the timestep back toVirtual Engines.

The second method was similar, except it used an ordinary differential equation solver

built in M/Simulinkrunning on its own time base. Instead of communicating once

per time step, it calculated the motion over a whole thermodynamic cycle at a time, and

iterated the solution withVirtual Enginesusing a successive substitution technique.

Numerical Method A: Time Step by Time Step

The first numerical method started with the fundamental equation of rotational motion

τ = Jθ, (2.4)

and calculated all the torques acting on each lumped rotating mass. The torques could

be classified into two groups,

τ = τdynamic+ τforcing. (2.5)

The dynamic torque acting between thenth and (n + 1)th rotating masses of rotational

inertiaJn andJn+1, connected to each other with a spring of torsional stiffnesskn+1 and

a damper of torsional dampingcn+1, given a current state of angular positionsθn and

θn+1 and angular velocitiesθn andθn+1, was

τdynamic= kn+1(θn+1 − θn) + cn+1(θn+1 − θn). (2.6)

28

Next, the torque acting on a mass from a source external to thesystem was

τforcing = τgas+ τirp + τrod. (2.7)

The components of the forcing functionτforcing, as discussed earlier in§1.2, were torque

due to gas pressure on the piston (τgas), torque due to the inertia of the reciprocating

components (τirp), and torque due to horizontal translation of the connecting rod (τrod).

Note thatτforcing acted on massJ0 (the crankshaft) only. It can be shown (McCartan

1995) that, given a net pressure above and below the pistonP, a crankshaft position

relative to top dead centreθ, and a crankshaft rotational velocityθ,

τgas= PApLst

2

(

sinθ +Lct

2 sin2 θ

Lcr2 − Lct

2 sin2 θcosθ

)

, (2.8)

τirp = −Lct2θ

2(

cosθ +Lct

Lcrcos2 θ

) (

mp +mca

Lcr

)

sinθ +

Lct

Lcrsinθ cosθ

1−Lct

2

Lcr2

sin2 θ

, and

(2.9)

τrod = θ2cosθ sinθ

Lct2

Lcr2

Jrod

(

1−Lct

2

Lcr2

)

(

1−Lct

2

Lcr2

sin2 θ

)2− abmc

1−

Lct2

Lcr2

cos 2θ

1−Lct

2

Lcr2

sin2 θ

.

(2.10)

In the above equations,Lcr is the kinematic length of the connecting rod, andLct is

the crankshaft throw distance, which is equal to half the stroke (Lst) if the engine has

zero gudgeon pin offset. Massmp is that of the piston assembly, including the gudgeon

pin, any pin retainers, the connecting rod bearing, and any piston rings. Massmc is the

mass of the connecting rod, andJrod is the mass moment of inertia of the connecting rod

about its centre of mass. Distancea is that from the centre of mass of the connecting

rod to the crankshaft journal centre, andb is the distance from the same point to the

centre of the gudgeon pin. Finally,Ap is the projected area of the piston.

29

Virtual Engines, as described in§2.2 and§2.3, stepped forward in time, calculating the

thermodynamic state variables of the engine, including pressure in the cylinder (Pcyl)

and, for the two-stroke engines, pressure in the crankcase,(Pcase). These, along with

θ and the length of the time step (∆t), were passed to M at the end of each time

step.

In M, Equation 2.6 was solved for each coupling, and Equations 2.8–2.10 were

solved for each lumped rotating mass. Torquesτforcing andτdynamic were then fed into

Equation 2.4 to get, finally, aθ value for each mass. This was multiplied by∆t to

get an updatedθ for each lumped rotating mass. Rotational velocityθ was also mul-

tiplied by∆t to get an updatedθ for each mass. At this point,θ0, the velocity of the

crankshaft, was passed back toVirtual Engines, which used it to calculate the next∆t,

and proceeded to the next time step.

To simulate the action of a dynamometer, a steady torque,τdyno, was applied to the

lumped mass representing the dynamometer rotor. In each thermodynamic cycle, the

average speed over the cycle was calculated and compared to the target speed, and

τdyno was adjusted accordingly using a proportional/integral/derivative (PID) controller

strategy. The simulation was allowed to run for as many cycles as was necessary to

achieve a cycle-to-cycle steady state condition of both thevelocity and the engine

performance parameters (specifically, BMEP). This varied from about 10 cycles to as

many as 60, depending on how sensitive the engine was to changes in speed, and how

well the constants of the PID controller algorithm were chosen.

Numerical Method B: Successive Substitution

A Simulinkmodel was developed that incorporated these same governingequations. A

total torque,τforcing, was applied toJ0 and acted as the forcing function for the dynamic

system. A Runge-Kutta variable time step ordinary differential equation solver stepped

30

forward in time, resolvingθ, θ, andθ at each lumped mass station andτdynamicbetween

each station.

Instead of simulating just one time step, this method simulated an entire thermody-

namic cycle at a time. An array ofPcyl and (for two-stroke engines)Pcaseversusθ0 for

one cycle was passed to M. To simplify the discussion in this subsection, we will

useP to representPcyl or Pcyl andPcase. Also for simplicity, whenθ0 (the position of

the crankshaft) is used as a dependent variable, as inP(θ0), its subscript is removed,

as inP(θ), with the understanding that it is always the crankshaft towhich the engine

simulator references its kinematic equations. M called theSimulinkmodel, which

calculated the motion response for the cycle, using theP versusθ data as input into the

forcing function equations. The motion response, described by an array ofθ versusθ

data, was then passed back toVirtual Enginesvia M.

Refer to Figure 2.7 for a flow chart that describes the programflow and data flow

betweenVirtual Two-Strokeor Virtual Four-Stroke(calledVirtual Engineshere and

abbreviatedVE on the chart) and M. On the chart,~θ is a vector that represents the

positions of all the rotating masses, and~θand~θ are its first and second time derivatives,

respectively. As seen in block 1,Virtual Enginesgenerated a nominalP versusθ

profile. It accomplished this by simulating 15 cycles of the engine at constantθ. This

proved to be a reasonable length of time to set up the waves in all the pipes to a steady

state. Next,Virtual Enginessaved the thermodynamic and fluid dynamic states of all

the meshes at the end of the 15th cycle, sent aP(θ) array to M, and then transferred

control. Again, this profile was the “nominal” cylinder pressure trace used for finding

drivetrain initial conditions. In block 2, M called theSimulinkmodel, which

simulated the drivetrain rotating forward over time until stability, repeating thisP(θ)

forcing function with each cycle. Stability was determinedby comparing the mean

squared error (MSE) between successive cycles ofθ0(θ). The smaller the MSE, the less

the velocity profile had changed from one cycle to the next. When the MSE dropped

31

below 10−6 rad/s, stability was assumed. This took between 15 and several hundred

cycles, depending on the drivetrain and the initial conditions of~θ, ~θ, and~θ. Indeed,

some choices of initial conditions lead to a chattering condition. M then excised

the last cycle of data from the results and passed an array ofθ0(θ) data evenly spaced at

1◦ increments back toVirtual Engines. The position, speed, and acceleration of all the

drivetrain’s rotating masses, including the crankshaft, from the end of these revolutions

were used in M/Simulinkas the initial conditions for the successive substitution

loop.

Once reasonable initial conditions were generated, the drivetrain model was ready for

iteration against theVirtual Enginesmodel. Starting with block 3 in Figure 2.7,Virtual

Enginescalculated the 16th cycle using the saved thermofluid data but with the new

θ0(θ) data. Similar to before,Virtual Enginespassed the iteratedP(θ) array to M.

In block 4, M called theSimulinkmodel, which appliedP against the piston, but

this time for one cycle only. If the MSE between the currentθ(θ) profile and that of

the previous iteration exceeded 10−6 rad/s, program flow continued up the right side

of the chart to blocks 5 and 6. BothVirtual Enginesand M reloaded the initial

conditions from the end of the (j − 1)th cycle. Back in block 3,Virtual Enginesre-

simulated thej th cycle with the iteratedθ(θ) profile. With the newly iteratedP(θ) data,

M iterated theθ(θ) data once again, in block 4.

The successive substitution was considered converged whenthe MSE dropped below

10−6 rad/s, which diverted program flow out of the inner loop, down the flow chart to

block 7. BothVirtual Enginesand M saved final conditions of all state variables

at the end of thej th cycle. Next,Virtual Engineschecked to see if the cycle average

BMEP had stabilised over many cycles. If it had not, the program flow looped up

the left side of the flowchart where the engine model progressed to the next cycle in

block 8, and successive substitution began again in block 3.When the BMEP stabilised

over several cycles inVirtual Engines, program flow diverted out of the outer loop to

32

Virtual Engines(VE): run j = 15 cycles assumingω = constant, saveengine state variables, and passP(θ) data to M.

M: using P(θ) from cycle 15, calculate stabilisedθ0(θ) and

final conditions for~θ, ~θ, and~θ. j = j + 1 = 16.

VE: run j th cycle using θ0(θ)from M. PassP(θ) data toM.

M: Run j th cycle using lat-est iteration ofP(θ) from VE. Re-turn θ0(θ) data toVE.

Convergencecriteria

within VEand Msatisfied?

VE: save all final conditions.M: save all final conditions.

BMEPstabilised overmany cycles?

Done.

Next cycle.j = j + 1

M: Reload finalvalues of ~θ, ~θ, and ~θfrom ( j−1)th cycle.

VE: Reload enginestate variables fromend of (j−1)th cycle.

1

2

3

4

7

9

8

5

6

yes

yes

no

no

Figure 2.7: Data flow and successive substitution method.

33

block 9. At that point, the engine and drivetrain were considered stabilised, and the

performance data were reported for this single speed.

It was hypothesised that by simulating an entire cycle with only one transfer of data,

the computational overhead associated with each data transfer event could be avoided.

After some use, however, it became clear that the “time step by time step” method was

not as slow as was feared. So, the successive substitution method was abandoned in

favour of the much simpler method.

Analytical Method

Instead of calculating the response at discrete steps within the cycle, the analytical

method calculated the motion response across a whole thermodynamic cycle at a time.

The forcing function was broken down into component sinusoids using a Fourier de-

composition. These components were applied to the mass-elastic system by way of a

derived matrix equation based on Newton’s second law, and sinusoid components of

the motion response for each rotating mass were obtained. These were then recom-

posed into a degree-based motion response characteristic for each mass.

The analytical method was based on the work done by McCartan (1995). A brief

overview is given here, but a more detailed explanation can be found in the above

reference. The M software code is shown in Appendix D.

With the system lumped into discrete moments of inertia, torsional springs, and tor-

sional dampers, we can then apply the rotational form of Newton’s second law to each

rotating mass:

J~θ + C~θ+ K~θ =∑

i

Fi. (2.11)

34

Matrix J describes the rotating massesJ0 throughJn

J =

J0 0 0 . . . 0 00 J1 0 . . . 0 00 0 J2 . . . 0 0.......... . .

......

0 0 0 . . . Jn−1 00 0 0 . . . 0 Jn

. (2.12)

Matrix K describes the torsional springsk1 throughkn acting on pairs of rotating masses

Jn−1 andJn

K =

k1 −k1 0 0 . . . 0 0 0−k1 k1 + k2 −k2 0 . . . 0 0 00 −k2 k2 + k3 −k3 . . . 0 0 0...

......

.... . .

......

...

0 0 0 0 . . . −k(n−1) k(n−1) + kn −kn

0 0 0 0 . . . 0 −kn kn

(2.13)

Vector ~θ describes the instantaneous angular positionsθ0 throughθn of each of the

rotating massesJ0 throughJn

~θ =

θ0θ1θ2...

θn−1

θn

. (2.14)

Matrix C describes the torsional dampersc1 throughcn acting on pairs of rotating

massesJn−1 andJn

C =

c1 −c1 0 0 . . . 0 0 0−c1 c1 + c2 −c2 0 . . . 0 0 00 −c2 c2 + c3 −c3 . . . 0 0 0...

......

.... . .

......

...

0 0 0 0 . . . −c(n−1) c(n−1) + cn −cn

0 0 0 0 . . . 0 −cn cn

(2.15)

35

Finally, matrixFi describes thei th harmonic component of the forcing function. This

function was decomposed into sine and cosine components using a Fourier decompo-

sition

Fi = fi

[

cosωitsinωit

]

, (2.16)

wherefi is a matrix consisting of sine and cosine coefficients for each harmonici acting

on each rotating massJ0 throughJn. Angular frequencyωi is that of thei th harmonic,

that is,ω timesi. Note that four-stroke engines should be analysed on the half orders

i = 0.5, 1, 1.5, . . . because one thermodynamic cycles spans two revolutions. Two-

stroke engines can be analysed on the whole ordersi = 1, 2, . . .

Next, define the scalars that comprisef for each harmonici

fi =

A1 B1

A2 B2

A3 B3...

...

An−1 Bn−1

An Bn

. (2.17)

Note the distinction betweenA and B, the scalar sine and cosine coefficients of the

motion response, andA and B (with tildes), the scalar sine and cosine coefficients of

the forcing function.

Assuming each mass, spring, and damper in the system behavesin a linear fashion,

the law of superposition allows each harmonic order to be analysed in isolation. Thus,

Equation 2.12 becomes, for each harmonici,

J~θi + C~θi + K~θi = Fi . (2.18)

Equation 2.18 was solved by the same method used by McCartan (1995). First, an

equation

Ai~xi = ~fi, (2.19)

36

was defined where

~xi =

A1i

B1i

A2i

B2i...

Ani

Bni

, (2.20)

and

~fi =

A1i

B1i

A2i

B2i

...

Ani

Bni

, (2.21)

and matrixA is given on the next page. Then, Equation 2.19 was solved simply as

~xi =~fi

Ai. (2.22)

Vector ~x contained the sine and cosine coefficients of the system’s motion response

to the forcing function. This procedure was repeated for each harmonic (and half

harmonic for the four-stroke engine) up to the eighth.

37

A =

k12− J1ω2i ωic12 −k12 −ωic12 0 0 . . . 0

−ωic12 k12− J1ω2i ωic12 −k12 0 0 . . . 0

−k12 −ωic12 k12+ k23− J2ω2i ωi(c12+ c23) −k23 −ωic23 . . . 0

ωic12 −k12 −ωi(c12+ c23) k12+ k23− J2ω2i ωic23 −k23 . . . 0

0 0 −k23 −ωic23 k23+ k34− J3ω2i ωi(c12+ c23) . . . 0

0 0 ωic23 −k23 −ωi(c12 + c23) k23+ k34 − J3ω2i . . . 0

......

......

......

. . ....

0 0 0 0 0 0 . . . kn−3n−2 + kn−2n−1 − Jn−2ω2i

0 0 0 0 0 0 . . . −ωi(cn−3n−2 + cn−2n−1)0 0 0 0 0 0 . . . −kn−2n−1

0 0 0 0 0 0 . . . ωicn−2n−1

0 0 0 0 0 0 . . . 00 0 0 0 0 0 . . . 0

· · ·

0 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 0...

......

......

ωi(cn−3n−2 + cn−2n−1) −kn−2n−1 −ωicn−2n−1 0 0kn−3n−2 + kn−2n−1 − Jn−2ω

2i ωicn−2n−1 −kn−2n−1 0 0

−ωicn−2n−1 kn−2n−1 + kn−1n − Jn−1ω2i ωi(cn−2n−1 + cn−1n) −kn−1n −ωicn−1n

−kn−2n−1 −ωi(cn−2n−1 + cn−1n) kn−2n−1 + kn−1n − Jn−1ω2i ωicn−1n −kn−1n

0 −kn−1n −ωicn−1n kn−1n − Jnω2i ωicn−1n

0 ωicn−1n −kn−1n −ωicn−1n kn−1n − Jnω2i

. (2.23)

38

To summarise—for each harmonic,

1. Decompose the forcing function into sine and cosine componentsA1 throughAn

andB1 throughBn.

2. Determine matrixA from the rotating massesJ0–J6, springsk1–k6, and dampers

c1–c6.

3. Solve Equation 2.19 to obtain the sine and cosine components of the motion

response.

4. Recompose the response characteristic from the sine and cosine components.

2.4.3 Free-mass Model and Geared Model

A “free mass” model can be seen as a further simplification of the a mass-elastic model.

All rotating parts are lumped into a single inertiaJ, as shown in Figure 2.8. This

represents the limiting case of either nothing connected tothe crankshaft, or else an

engine with a rotating assembly of inertia much larger than anything attached to it.

J

cloadResistiveLoad

RotatingAssembly

Figure 2.8: Free-mass drivetrain model used for various engines.

It was hypothesised that a gear reduction should have allowed the system to be ade-

quately modelled with a free-mass model. Any inertia on the slow side of the reduction

should have appeared to the fast side as 1/g2 times its actual moment of inertia, where

39

g is the reduction ratio Wilson (1963). Ifg was large enough, then the system should

have approached the latter condition mentioned above, thatthe engine rotating assem-

bly had a moment of inertia effectively much larger than anything attached to it.

The YZ400F was tested with its primary gear reduction in place. As will be shown in

§6.2, the gear reduction did indeed allow the crankshaft to behave as a freely rotating

mass, and the free-mass model adequately predicted its in-cycle speed characteristics.

To show this explicitly, simulations were run with a three-mass model with a geared

branch, as shown in Figure 2.9, andg was varied over a range from 1.1 to 20 .

k

J0

J1

J2g

cloadClutch DriveSpring

Crankshaft

Crank-ClutchGear Reduction

Transmission,Shafting, andDynamometer

Rotor

ClutchHousing

Figure 2.9: Schematic of three-mass drivetrain model with a geared branch. This model wasused to analyse the YZ400F and the GP500 drivetrains.

Once that was proven, then the GP 500 engine could be simulated with the free-mass

model with reasonable confidence that the in-cycle speed predictions would be valid,

even though no experimental data were available.

40

2.5 Drivetrain Response Analysis

To analyse the results, the signals were first transformed from the time domain to the

angle domain and synchronised with the TDC angle of the engine. Then, the harmonic

components of theτ andω signals were determined using a Fourier decomposition,

f (x) =12

A0,n +

8∑

i=1

An,i cosiθn + Bn,i siniθn. (2.24)

The harmonic number isi, while A andB are the coefficients for the cosine and sine

components of the periodic function that repeats with each revolution. The subscriptn

specifies the lumped inertia station. As seen on the summation symbol, the harmonics

were determined up to the 8th, which provided enough range to adequately describe the

measured and predictedτ andω profiles.

The amplitude,ρ, and phase,φ, of each harmonic component of each revolution for a

given station,n, were determined by

ρn,i =

An,i2 + Bn,i

2, (2.25)

and,

φn,i = arctanBn,i

An,i. (2.26)

Note that a four-quadrant arctangent function must be used in Equation 2.26.

For each revolution of the engine,ρ andφ were determined at all stations up to the

8th harmonic. These were mapped againstω at each revolution, which was determined

from the rotation time period. In this way,ρ andφ versusω could be compared across

the operating speed of the engine.

Note that the above method is only truly valid if analysing aninfinite series of cycles

(Wilson 1963). If operating on just one cycle, the beginningand end of each data set,

41

unless by chance they happen to coincide, appear to the analysis as a step function.

This results in noisyρ data and even noisierφ data.

The opposite extreme would have been to apply Equation 2.24 to the entire sequence

of measured data, which was about 1250 cycles (see§3.3 for details). Unfortunately,

because the engine was accelerating during this sweep, thatwould have violated the

steady-state assumption required for Equation 2.24 (Wilson 1963). So, a compromise

of 21 cycles was chosen for the analysis. Note that the data needed not to be divided

into 21 cycle fields. Instead, each cycle of the 1250 cycles was analysed along with

its 20 closest neighbours, resulting in 1230 calculated points. Results are presented in

Chapter 5.

3. MODEL VALIDATION METHOD

3.1 Overview

When developing an engine model, experimental evidence is necessary to prove that

the physical equations and assumptions used accurately describe real engine behaviour.

Measured steady-state performance data from a running engine that agree with pre-

dicted data provide evidence that an engine model is accurate, while torque, rotational

speed, and position measurements can validate a drivetraindynamics model.

3.2 Engine Model Validation Experiments

Steady-state validation tests were conducted using the Yamaha YZ250 engine. A

Froude EC26TA eddy current dynamometer (Worcester, England) provided the steady-

state load.

As seen earlier, in Figure 2.1, the test engine comprised of acylinder, piston, connect-

ing rod, and crankshaft from a Yamaha YZ250 fitted to an aluminium alloy crankcase.

The crankcase had pockets machined to accurately match the transfer passages of the

stock Yamaha crankcase. This engine was built for a previousstudy, and was detailed

by Cunningham (1996).

Steady-state torque absorbed by the dynamometer was measured with an Interface

SSM-A-1000N force transducer (Scottsdale, AZ, USA) mounted to the housing. Cycle-

averaged engine speed was inferred from the pulse period of the signal generated by

a Kistler 2613B crankshaft position sensor. A Delphi 1534 mass airflow sensor (Troy,

MI, USA) mounted upstream of the plenums discussed in§2.2 measured air flow rate.

42

43

A Tillotson model HL334 diaphragm carburetor (Tralee, Ireland) with a 19 mm throat

delivered fuel just upstream of the reed block. As mentionedin §2.2, it was adjusted at

each tested speed to deliver a 12:1 air/fuel mass ratio. Fuel consumption was measured

with a Max Machinery model 284-522 flow meter (Healdsburg, CA, USA) mounted in

series with the carburetor. Exhaust gas was sampled from thecentre section of the pipe

and CO, CO2, O2, and HC equivalent were measured with a Horiba MEXA-554GE gas

analyser (Kyoto, Japan). Exhaust gas temperatures were measured with K-type ther-

mocouples at three positions along the pipe length, centrally in the cross-sections. Air

charge temperature was measured with a K-type thermocoupleat the intersection of

the rear transfer passage with the crankcase, in the centre of the passage cross-section.

The stock Yamaha ignition system was replaced with a Luminition CEK150 system.

The spark timing was set to a fixed 12◦ BTDC. See§3.4 for more detailed discussion

about ignition timing.

The engine was run at full throttle until all temperatures stabilised. Performance, emis-

sions, and crankangle-based data were then recorded for 400consecutive cycles. Six-

teen different steady-state engine speeds from 2750 rpm to 4500 rpm, arange surround-

ing most of the tuned range of the engine but limited by the safe operating speed of the

inertia wheel (described in§2.4). Trapping efficiency was derived from exhaust oxy-

gen content as outlined by Blair (1996). Data were reduced and results are presented

in Chapter 4.

3.3 Dynamic Model Validation Experiments

3.3.1 YZ250 Research Engine Drivetrain

To best satisfy the simplifying assumptions made in the model, a system that eliminated

any dynamic stiffness, hysteresis, or backlash effects was designed. All polymeric el-

44

ements were eliminated, and either wedge clamping devices or non-slipping flange

joints secured all connections. A Cardeflex DA/180/N/1/B/2ST spring coupling (by

Pennine Industrial Equipment, Huddersfield, England) in series with a Bibby Trans-

missions DS103 disc coupling (Dewsbury, England) joined the midshafts between the

engine and the dynamometer. A Fenner DS10 double disc coupling (Glenrothes, Scot-

land) was mounted between the dynamometer shaft and the inertia wheel. All shafts

were solid or tubular steel. Figure 3.1 shows the drivetrain.

EngineDynamometer

SpringCoupling

FluidDamper

DiscCoupling

0.12 kg m2

Flywheel

Figure 3.1: Drivetrain between engine and dynamometer.

Because the intent was to test a low inertia engine, all shafting before the low stiffness

spring coupling was kept as light as possible. The steel baseplate sections of the spring

coupling itself were replaced with lightweight structures. High strength aluminium

alloy was chosen for any parts with relatively large diameters.

As mentioned in§2.4.2, a fluid damper, shown in Figure 3.2, was designed to limit

resonant amplitudes without introducing complex damping behaviour. It employed a

steel seismic mass running on a brass bushing, sealed insidean aluminium alloy case.

The case was clamped to the second driveshaft, close to the spring coupling, so its

inertia could be lumped with the spring coupling. The clearance volume between the

seismic mass and the case was filled with SAE 90 weight transmission oil, and all air

45

was purged. The seismic mass, internal clearances, and fluidviscosity were chosen to

generate a damping rate of 0.4 N m s/rad. This provided a moderate damping ratio of

0.23 at that station. See Appendix C for the relevant design calculations.

Seismic Mass

Housing

Figure 3.2: Cutaway view of the fluid damper assembly.

The engine pallet mounted to a chassis using rubber mounts, as shown in Figure 3.3.

Some preliminary tests were executed which involved replacing these elements with

rigid threaded rods. No measurable difference was detected in the drivetrain response

with the rods, so they were eliminated in favour of the rubbermounts to avoid trans-

mitting damaging vibrations to the dynamometer sensors.

EnginePallet

FlexibleMountsChassis

Figure 3.3: Flexible engine pallet mounts.

The crankshaft encoder measured position at 360 pulses per revolution. The reference

encoder position at piston TDC was determined to within±0.1◦ using an AVL 428

46

TDC sensor (Graz, Austria). A water cooled, 10 mm diameter Kistler 4045A5 piezore-

sistive transducer positioned 100 mm downstream from the piston face measured ex-

haust pressure. A Kistler 6061A piezoelectric sensor measured cylinder pressure. A

Kistler 4045A2 piezoresistive transducer mounted in the crankcase and measured case

pressure. The spark event was detected alternately with a PiTechnology inductive sen-

sor (Cambridge, England), or else with a few wraps of wire around the high voltage

spark plug wire.

The high-speed data acquisition systemPTrAc, by O Power Technology, used

the analog-to-digital converters on a National Instruments PCI-6023E data acquisi-

tion card (Austin, TX, USA) to record cylinder pressure, exhaust pressure, torque,

crankcase pressure, and spark current at every 1◦ of crank angle rotation. Simultane-

ously, the system recorded time between angular position pulses using a counter on a

National Instruments PCI-6601 counter card running at 20 MHz. This time was used

to calculate instantaneous crankshaft position (θ) and velocity (ω).

Both steady-state and dynamic tests were performed. The steady-state tests were com-

bined with the engine performance tests described in§3.2. Again, the engine was run

at full throttle against the dynamometer at steady cycle-averaged speed. For these data,

cylinder pressure, exhaust pressure, and instantaneous crank speed were measured at

360 intervals per revolution for all 400 consecutive cyclesfor each tested speed.

The dynamic tests involved accelerating the engine at full throttle against the inertia,

but with the dynamometer turned off. The engine was started at a low speed and accel-

erated through its entire operating range while 1250 consecutive cycles of data were

recorded. This took approximately 20 s. In the discussion below, this test is referred to

as the “sweep test”.

Two different drivetrain configurations were tested. The first included a flywheel with

a mass moment of inertia of 0.12 kg m2 bolted to the drive end of the crankshaft. It was

47

designed to minimise crankshaft speed fluctuations, and so approximate the ideal of a

constant crankshaft velocity. The rim size was chosen to be as large as possible while

maintaining a generous factor of safety against rupture at the highest engine speed.

This heavy flywheel was removed in the second configuration, and two steel adapters

were replaced with lightweight aluminium alloy pieces. This was intended to simu-

late the engine in its stock, lightweight configuration, which could exhibit significant

drivetrain effects on performance. Throughout the rest of this document, the former is

referred to as the “High Inertia” drivetrain, and the latteras the “Low Inertia” drive-

train.

The stiffness of each component in the drivetrain was calculated by measuring the twist

angle produced by a known torque. Figure 3.4 shows a schematic of the method. One

end of the shafting was pinned, and the torque applied to the opposite end. Using a

system of mirrors and telescopes set 3 m from the shaft centerline, the relative twist

angle across each flexible component was measured to within 0.005◦, and the stiffness

k was calculated according to

k =τ

θ1 − θ2, (3.1)

whereτ is the applied torque, andθ1 andθ2 are the measured twist angles of inertias

J1 andJ2 surrounding the compliant element in question. Note that the flexure of the

beam is irrelevant because it is only the rotation of the elements that is measured. In

the figure,θ2 = 0 becauseJ2 happens to be the element that is pinned, but in practice

both mirrors may move without introducing any error.

The mass moment of inertia of each part was measured using a trifilar pendulum

method (BICERA 1958) where possible. Otherwise, detailed measurements of the

part were taken, and the geometry rendered inSolid Edge, by Electronic Data Systems

(Huntsville, AL, USA). Using the “physical properties” calculation tool and assuming

48

J0

J1

J2k1

τ

k2

θ1

Figure 3.4: Schematic of the compliant element stiffness test. ElementJ2 is fixed whileJ1 andJ0 are free to rotate.

an appropriate material density, rotational inertia was determined with a finite element

algorithm.

Table 3.1 summarises the inertias of each lumped station andthe stiffnesses between

them for both drivetrains. Contrast the values forJ1 (in bold) for each drivetrain. The

addition of the flywheel and replacing two steel flanges with identical aluminium alloy

pieces increased the inertia at that station from 0.02280 kg m2 to 0.1521 kg m2.

Note that stiffnessk1, which represents the flexibility of the drive end of the crankshaft,

was estimated using simple shaft torsion theory. There was no convenient means for

rigidly fixing the opposite end of the crankshaft to resist a test torque.

3.3.2 GP 125 and YZ400F Drivetrains

The drivetrain of the GP 125 engine was tested similarly to the YZ250 test engine

drivetrain, except that the spring coupling was replaced with a (stiffer) rubber coupling,

the large inertia wheel was removed from the drivetrain, andthe dynamometer was

driven from the transmission output shaft instead of directly from the crankshaft. The

49

Table 3.1: Drivetrain characteristics.Low Inertia High Inertia

Component Inertia Stiffness Inertia Stiffness(kg m2) (N m/rad) (kg m2) (N m/rad)

J0 0.00589 0.00589k1 75000 75000

J1 0.02280 0.1521k2 35000 35000

J2 0.00448 0.00448k3 58000 58000

J3 0.01315 0.01315k4 4600 4600

J4 0.03236 0.03236k5 40000 40000

J5 0.02058 0.02058k6 79000 79000

J6 1.438 1.438

clutch, transmission, and crankshaft-clutch shaft gear reduction were all left in place.

All tests were done with the transmission in 6th gear. The same measuring devices,

dynamometer, and software used on the YZ250 were used on the GP/,125. The engine

was run at full load and stabilised at discrete points from 9000 rpm to 13000 rpm.

The drivetrain of the YZ400F engine was arranged similarly to the GP 125 engine.

Again, the clutch and transmission were left in place, the dynamometer was driven

from the transmission output shaft, and no inertia wheel wasused. All tests were run

with the transmission in 5th gear. The engine was run at full load and stabilised at

discrete points from 5000 rpm to 11000 rpm. In this case, the crankshaft position was

measured with an AVL 364 optical encoder and a time stamp was placed on each of

the angular position pulses with an AVL 670 Indimaster data acquisition system, and

instantaneous crankshaft position and velocity were determined from this data. Again,

a resolution of 360 pulses per revolution was used. All testson the YZ400F were

conducted by O Power Technology.

50

3.4 Experimental Pitfalls

Early in the study, experiments were performed using the stock Yamaha ignition sys-

tem. With the crankshaft position encoder’s 360 pulses per revolution signal, spark

angle could be determined to within 1◦. With the high inertia drivetrain, the spark

fired at 22◦ BTDC, as per the Yamaha owner’s manual. However, with the lowinertia

drivetrain, spark timing varied widely depending on enginespeed and load. No com-

pensation for throttle position or any other sensor was built into the control system, so

the timing variation must have been an effect related to the crankshaft position mea-

surement and speed calculation. Because the ignition system’s crank position sensor

was positioned well before 22◦ BTDC, significant extrapolation in time was neces-

sary to determine the spark angle at a given rotational speed. The speed fluctuation

within the cycle associated with the low inertia drivetraincaused errors in this extrap-

olation. Measured spark timing was advanced by over 10◦ at 3000 rpm, for example.

This clearly affected the closed cycle performance, including the IMEP and in turn,

BMEP. Depending on the instantaneous crankshaft speed in the angles approaching

the ignition system position sensor, spark timing varied widely.

As mentioned in§3.2, the stock ignition system was replaced with an aftermarket

system. This system employed an infrared optical interruptor mounted to the crankcase

and an opaque flag mounted to the crankshaft that rotated through the light beam. The

system fired the spark at the same time the phototransistor pulled current on its output

pin, and so exhibited minimum extrapolation in time. In thisway, the spark always

fired at the same angle regardless of speed fluctuations within the cycle, eliminating

the effect on IMEP mentioned above.

Also early in the study, a different crankshaft position encoder was used before in-

stalling the Kistler unit. It was connected to the crankshaft via a slotted aluminium

coupling. Figure 3.6 shows the layout. Measured deviationsas high as±1000 rpm

51

were seen, at a 6th harmonic (six times per revolution). This did not seem reason-

able, because exceptionally high torques would have been necessary to oscillate the

crankshaft with such high frequency and amplitude.

0 90 180 270 360

2800

3200

3600

θ (◦ ATDC)

ω(r

pm)

Figure 3.5: Measured response of the Hohner encoder atω = 3200 rpm.

It was determined that although relatively stiff, the flexibility of the encoder coupling

(125 N m/rad) was still enough to allow the inertia of the encoder itself (0.310 kg cm2)

to be excited by higher order harmonics, and resonate at certain engine speeds. There-

fore, the output from the sensor did not resemble the crankshaft response. To demon-

strate this effect, the drivetrain model was modified to include the inertiaof the sensor

and stiffness of the coupling. This model was able to accurately predict the observed

speed profile of the encoder disc. Replacing the encoder withthe Kistler unit, which

employed a high stiffness flange mount design with a relatively low inertia rotor,elim-

inated the problem.

EncoderCoupling

Figure 3.6: Hohner encoder and Ruland coupling.

4. YZ250 ENGINE MODEL VALIDATION RESULTS ANDDISCUSSION

4.1 Engine Performance Results

Presented in this chapter are performance tests done on the modified Yamaha YZ250

engine. First, the change in performance due to drivetrain effects is shown. Then,

detailed analysis is done at a variety of speeds to determinethe contributing factors to

the change in performance. Figure 4.1 shows a typical pair ofprofiles of instantaneous

crankshaft angular speed (ω) versus crank angle (θ) for the YZ250 engine with two

different drivetrains. The engine was running at full throttle and a cycle-averaged speed

(ω) of 2950 rpm. As introduced in§3.3, the drivetrain with the heavy flywheel attached

to the crankshaft is called the “High Inertia” drivetrain, while the drivetrain with the

flywheel removed is termed “Low Inertia”. The addition of theextra inertia to the

crankshaft reduced the amplitude of the speed fluctuations to a minimum, as desired.

As discussed in§3.2, this was intended to simulate the “ideal” situation of constant

crankshaft speed throughout the cycle. In contrast, the LowInertia drivetrain exhibited

speed fluctuations up to 9% ofω at this example tested speed.

−180 −132 −86 0 86 132 1802700

2800

2900

3000

3100

3200

3300 EPO TPOTPC EPC

θ (◦ ATDC)

ω(r

pm)

Low Inertia

High Inertia

Figure 4.1: Measured instantaneous crank speed within the cycle (ω) atω = 2950 rpm for theYZ250 research engine with two different drivetrains.

52

53

These results are typical for single-cylinder two-stroke and four-stroke engines, as

shown by Filipi & Assanis (1997) and will be shown in Chapter 6. The performance of

the research engine, with its characteristic steeply changing with engine speed, should

have been sensitive to in-cycle speed fluctuations. Indeed,it was.

Figure 4.2 shows the measured performance of the engine withthe two different driv-

etrains. With the Low Inertia drivetrain, brake mean effective pressure (BMEP) in-

creased by up to 14%. Figure 4.3 shows the measured crake specific unburned hydro-

carbon (BSHC) emissions. A decrease of 5% in BSHC was measured with the Low

Inertia drivetrain.

2500 3000 3500 4000 45004

5

6

7

8

Engine Speed (rpm)

BM

EP

(bar

)

Low Inertia

High Inertia

Figure 4.2: Measured BMEP characteristics for the YZ250 research engine with two differentdrivetrains.

These together highlight the importance of considering drivetrain effects during en-

gine development, homologation, and certification. If, during development, engine

models assume constant crankshaft velocity, then constantvelocity must be ensured in

any associated experiments. Alternatively, crankshaft speed variations should be either

measured or predicted and applied to the model. Further, speed variations might be

different during dynamometer testing than in the field of application. Finally, perfor-

54

mance and emissions results might differ from one laboratory to the next depending on

the drivetrain characteristics, with implications for certification testing.

2500 3000 3500 4000 4500150

200

250

300

350

400

450

Engine Speed (rpm)

BS

HC

(g/k

Wh

)

Low Inertia

High Inertia

Figure 4.3: Measured unburned hydrocarbon emissions characteristics for the YZ250 enginewith two different drivetrains.

Several factors contributed to the change in performance. Below, attention is concen-

trated first on one tested speed, 2950 rpm, and then on a few anomalies at 3750 rpm

and 4500 rpm.

Figures 4.4–4.6 show the measured change in performance between the two drive-

trains. At 2950 rpm, the BMEP increased 0.5 bar, or about 9%. The delivery ratio

(DR) increased 10% while the trapping efficiency (TE) dropped only slightly, leading

to a net increase in charging efficiency (CE) of 8%. This accounted for nearly all of the

proportional change in BMEP.

The increase in DR and CE at 2950 rpm can be explained by the wave action in the

exhaust system. This can be determined by examining the pressure in the pipe close to

the exhaust port. Figure 4.7 shows exhaust pressure (Pex) versus crank angle, measured

100 mm from the piston face.

55

2500 3000 3500 4000 45000.7

0.8

0.9

1.0

1.1

Engine Speed (rpm)

Del

iver

yR

atio

Low Inertia

High Inertia

Figure 4.4: Measured delivery ratio characteristics for the YZ250 engine with two differentdrivetrains.

2500 3000 3500 4000 45000.40

0.45

0.50

0.55

0.60

0.65

0.70

Engine Speed (rpm)

Tra

ppin

gEffi

cien

cy

Low Inertia

High Inertia

Figure 4.5: Measured trapping efficiency characteristics for the YZ250 engine with two differ-ent drivetrains.

56

2500 3000 3500 4000 45000.35

0.40

0.45

0.50

0.55

0.60

0.65

Engine Speed (rpm)

Cha

rgin

gEffi

cien

cy

Low Inertia

High Inertia

Figure 4.6: Measured charging efficiency characteristics for the YZ250 engine with two differ-ent drivetrains.

At 2950 rpm, the engine speed was below the tuned range. This implies that the trap-

ping pulse was arriving too early relative to the transfer port closing (TPC) for optimum

charge delivery and trapping. This is illustrated by the superposition pressures shown

in Figure 4.7, which rose above 1 bar before TPC.

With the Low Inertia drivetrain, however, the engine was rotating faster than aver-

age during the open cycle, which can be seen in Figure 4.8. In this case, the aver-

age crankshaft velocity between the exhaust port opening event (EPO) and TPC was

3115 rpm, which was considerably faster than the average forthe complete cycle. In

contrast, with the High Inertia drivetrain, the crankshaftremained nearly steady at

2950 rpm throughout the cycle. Consequently, with the Low Inertia drivetrain, the

transfer ports closed earlier in time, before the pressure rose too far above 1 bar. This

enhanced DR. On Figure 4.7, this is seen as a deeper, wider suction pulse between

bottom dead centre (BDC) and TPC.

For further verification of this effect, two simulations were run atω = 2950 rpm. Per-

formance results are shown in Table 4.1. In this case, the simulation called “High

Inertia” assumedω = ω throughout the cycle. The simulation called “Low Inertia” in-

57

86 132 180 228 2740.6

0.8

1.0

1.2

1.4

1.6

1.8EPO TPO TPC EPC

θ (◦ ATDC)

Pex

(bar

)Low Inertia

High Inertia

Figure 4.7: Measured exhaust pressure versus crank angle for the YZ250engine with twodifferent drivetrains atω = 2950 rpm.

86 132 180 228 2742700

2800

2900

3000

3100

3200

3300EPO TPO TPC EPC

θ (◦ ATDC)

ω(r

pm)

Low Inertia

High Inertia

Figure 4.8: Measured crank speed fluctuation during the open cycle atω = 2950 rpm.

58

cluded the same fluctuatingω as measured on the test engine and shown in Figure 4.1.

By comparing these results with the results from the measured data at 2950 rpm (tabu-

lated in Table 4.2 for convenience) it can be seen that the predicted increase in BMEP

is representative of the measured increase. Likewise, the predicted DR, CE, and TE all

display similar changes to those measured. Though the trends are all the same, the ab-

solute values of the prediction did not match the measured data well. This discrepancy

will be discussed later, in§4.2.

Table 4.1: Predicted engine performance at 2950 rpm.

parameter High Inertia Low Inertia Change

BMEP 4.70 5.31 13%CE 0.46 0.51 11%DR 0.93 1.02 9%TE 0.49 0.50 2%

Table 4.2: Measured engine performance at 2950 rpm.

parameter High Inertia Low Inertia Change

BMEP 5.71 6.22 9%CE 0.49 0.54 8%DR 0.91 1.00 10%TE 0.54 0.53 −1%

Figure 4.9 shows the predicted exhaust pressure traces for the simulated Low Inertia

and High Inertia drivetrains, again at 100 mm from the pistonface. A similar deepening

and widening of the scavenge trough from BDC to TPC is seen, like that shown in

Figure 4.7.

The enhanced DR can be more clearly seen by examining the charge mass flow rate

(m) from the transfer ports into the cylinder, shown on Figure 4.10. While not feasible

to measure on the test engine, it was easy to examine on the engine model. The engine

with the Low Inertia drivetrain delivered a higher ˙m across the whole range from TPO

to TPC.

59

86 132 180 228 2740.6

0.8

1.0

1.2

1.4

1.6

1.8EPO TPO TPC EPC

θ (◦ ATDC)

Pex

(bar

)

Low Inertia

High Inertia

Figure 4.9: Predicted exhaust pressure traces atω = 2950 rpm, Low Inertia and High Inertiadrivetrains.

86 132 180 228 274−40

−20

0

20

40

60

80

100

120EPO TPO TPC EPC

θ (◦ ATDC)

m(g/s

)

Low Inertia

High Inertia

Figure 4.10: Predicted mass flow rate through the transfer ports atω = 2950 rpm, two differentdrivetrains. Positive flow means flow directed into the cylinder.

60

Next, let us examine the performance atω = 3750 rpm. Referring again to Figures 4.2

and 4.6, it can be seen that the BMEP at this speed changed verylittle in spite of a 3%

decrease in trapped charge mass when switching from the HighInertia drivetrain to the

Low Inertia drivetrain. This can be explained by examining the characteristics of the

heat release during combustion.

Figure 4.11 shows the calculated mass fraction of fuel burned (MFB) versus crank

angle for the engine with both drivetrains. Thoughθ was 1◦ farther along the rotation

in the High Inertia case, the bulk of the heat release occurred more than 2◦ farther

along. At 12◦ BTDC, the spark angles were retarded from the optimum for best torque

at this speed. Therefore, any further retardation would reduce the IMEP at a given

trapped charge mass.

−20 −10 0 10 20 30 40 50 0.0

0.2

0.4

0.6

0.8

1.0ign

θ (◦ ATDC)

MF

B

Sca

Low Inertia

High Inertia

Figure 4.11: Calculated (from measured data) mass fraction of fuel burned (MFB) versus crankangle profiles atω = 3750 rpm for the YZ250 with two different drivetrains.

The reason that the High Inertia case showed a retarded profile more than 1◦ was be-

cause the crankshaft was running faster than it was with the Low Inertia drivetrain from

the spark event until 23◦ ATDC, as shown in Figure 4.12. The combustion progress was

largely a function of time instead of volume, as shown in Figure 4.13. Plotted is MFB

versus time (t). On the graph, the time of ignition for the Low Inertia case,tignLE ≡ 0.

61

−12 −2 323500

3600

3700

3800

3900

4000Ign SoB EoB

θ (◦ ATDC)

ω(r

pm)

Low Inertia

High Inertia

Figure 4.12: Measured crank speed profiles atω = 3750 rpm around the combustion event forthe YZ250 with two different drivetrains.

0 0.5 1 1.5 2 2.50.0

0.2

0.4

0.6

0.8

1.0

Low InertiaHigh Inertia

time (ms)

MF

B

Figure 4.13: Calculated (from measurements) MFB versus time for the YZ250 with two differ-ent drivetrains atω = 3750 rpm.

62

While awareness of this effect is important, ultimately it is not critical to performance

because the spark timing can be adjusted easily (depending on the ignition control sys-

tem). However, this behaviour may become important if the in-cycle speed fluctuations

vary at a givenω, for example when the crankshaft is clutched to a transmission instead

of freewheeling, or if a different transmission gear is selected.

Finally, examine the performance at 4500 rpm. Figures 4.2–4.6 all show a dramatic

change in measured performance between the two drivetrains. At this speed, the engine

was exhibiting a bistable condition depending on exhaust pipe wall temperature. In the

first few minutes of running at that speed, the exhaust pipe walls were still hot from

testing at 4250 rpm. The measured torque was still roughly ashigh as in the High

Inertia case. After about 5 min of continuous running, however, the pipe cooled to the

point that the engine went out of tune and the torque dropped by more than 25%. The

pipe walls continued to cool to stability, and the torque remained low indefinitely. The

latter condition was taken as the final, stabilised condition and is the datum presented

above. An extra data point was taken at 4410 rpm to show this behaviour, as can be

seen on the performance figures. The test engine was not run above 4500 rpm due to the

speed limitation of the inertia wheel attached to the drivetrain, as mentioned in§2.4. If

the engine was run faster with the High Inertia drivetrain, its performance would have

almost certainly dropped off in a similar manner.

4.2 Performance of theVirtual 2-StrokeEngine Model

The discussion above concentrates on comparing the test engine’s measured perfor-

mance with two different drivetrains while only trends predicted by the enginemodel

were presented. In this section, attention will be drawn to the validity of the engine

model itself. To simplify the analysis, results from the High Inertia configuration only

63

are shown for both the measured and predicted results, thus minimising any influence

from in-cycle speed fluctuations.

Starting with the BMEP characteristic, shown in Figure 4.14, we can see that the engine

model predicted the general shape of the curve well, but underestimated the values

across the speed range by 11% to more than 35%. This was mainlybecause input into

the model were both a low combustion efficiency (ηcomb = 0.75), and a scavenging

efficiency versus scavenge ratio (SE/SR) characteristic below that measured on the

QUB single-cycle rig (and indeed below the perfect mixing line). Figure 4.15 shows

the measured SE/SR characteristic versus that assumed in the model. When higher

values forηcomb or SE were input, the performance curves all shifted higher in engine

speed. The engine acted as though the exhaust scavenging andtrapping pulses were

travelling too quickly, as though the pipe was acting too short or the gas temperature

too hot. The shape and position of the curves were compromised.

2500 3000 3500 4000 45004

5

6

7

8

Engine Speed (rpm)

BM

EP

(bar

)

Measured

Predicted

Figure 4.14: Measured versus predicted BMEP for the YZ250, both with theHigh Inertiadrivetrain.

Figure 4.16 shows the measured versus predicted delivery ratio characteristics, and

Figure 4.17 shows the trapping efficiency characteristics. The overall shape of the

curves match well, and agreement is good at low engine speeds, but both DR and TE

64

0 0.5 1 1.5 20

0.2

0.4

0.6

0.8

1

Volume Scavenge Ratio

Sca

veng

ing

Effici

ency

Measured

Assumed in Model

Pure Displacement

Perfect Mixing

Figure 4.15: Scavenging efficiency versus volume scavenge ratio, measured on the QUBsingle-cycle rig and assumed in the engine model.

are underestimated at high engine speeds. The low DR could beexplained if the as-

sumed exhaust pipe exit diameter were too small, or else the throttle opening was too

restrictive. However, opening the exhaust tip diameter worsened the already low TE

estimate, and increasing the throttle opening caused the DRat low engine speeds to be-

come overestimated. Assuming a smaller exhaust pipe tip improved TE at high engine

speed, but aggravated the error in DR. Lowering the throttleopening also improved

TE but again degraded the DR estimation. Assuming a higher SE/SR characteristic

improved the error in TE, but made the predicted exhaust temperatures hotter, which

shifted all the performance characteristics too high in engine speed.

Next, let us examine the quantity of trapped charge mass. Figure 4.18 shows the mea-

sured and predicted charging efficiency (CE) versusω characteristics. The predicted

results match the measured results better than the BMEP results did, and match well

in the range from 2750 rpm to 3200 rpm, but an error of up to 27% (at 4000 rpm) re-

mains. The shape of the CE curves closely match those of the BMEP curves, which

implies that trapped charge mass was the primary contributor to the BMEP character-

istics while friction and combustion effects were of secondary importance only.

65

2500 3000 3500 4000 45000.7

0.8

0.9

1.0

1.1

Engine Speed (rpm)

Del

iver

yR

atio

Measured

Predicted

Figure 4.16: Measured versus predicted delivery ratio for the YZ250 with the High Inertiadrivetrain.

2500 3000 3500 4000 45000.40

0.45

0.50

0.55

0.60

0.65

0.70

Engine Speed (rpm)

Tra

ppin

gEffi

cien

cy

Measured

Predicted

Figure 4.17: Measured versus predicted trapping efficiency for the YZ250 with the High Inertiadrivetrain.

66

2500 3000 3500 4000 45000.35

0.45

0.55

0.65

Engine Speed (rpm)

Cha

rgin

gEffi

cien

cy

Measured

Predicted

Figure 4.18: Measured versus predicted charging efficiency for the YZ250 with the High Inertiadrivetrain.

The fact that the CE characteristic was better predicted than the BMEP characteristic

can be partially explained by the low assumedηcomb. If BMEP is plotted against CE,

as in Figure 4.19, the resulting scatter plots should lie along the same trend line if the

combination of engine friction (FMEP), pumping work (PMEP), andηcomb are well

estimated or predicted. Clearly, they were not.

0 0.1 0.2 0.3 0.4 0.5 0.6

0

2

4

6

8

Charging Efficiency

BM

EP

(bar

)

Measured

Predicted

Figure 4.19: Charging efficiency versus BMEP, measured and predicted.

67

An error in any of the following inputs to the engine model could have caused the

under-predicted BMEP/CE relationship:

1. FMEP was overestimated

2. PMEP was overestimated

3. ηcomb was underestimated

The assumed friction characteristic (parasitic loss factor = 0.96 Pa/rpm) was already

low compared to that suggested by Blair (1996) for a spark ignition two-stroke engine

with a swept stroke of 68.8 mm, a value of 7.9 Pa/rpm. Figure 4.20 shows these two

friction characteristics as a function of engine speed. Though no sensible friction mea-

surements were taken from the test engine, the validity of further lowering the assumed

factor did not seem likely.

2500 45000

0.2

0.4

Engine Speed (rpm)

FM

EP

(bar

) 7.9 Pa/rpm

0.96 Pa/rpm

Figure 4.20: Two assumed FMEP profiles for a stroke length of 68.8 mm.

Pumping mean effective pressure was not measured on the test engine, but the predicted

magnitudes, shown in Figure 4.21, were small compared to theerror in BMEP. Even

a large error in estimation of PMEP could not have accounted for the error in BMEP.

Since the friction was purposely underestimated and small compared to the error in

BMEP anyway, and PMEP was small, that left only possibilities number three—that

the percentage of trapped fuel that actually burned was underestimated. Further evi-

dence can be found by comparing the fuel consumption characteristics. Figure 4.22

compares the measured and predicted brake specific fuel consumptions. Because the

68

2500 45000

0.2

0.4

Engine Speed (rpm)

PM

EP

(bar

)

Figure 4.21: Predicted PMEP characteristic for the YZ250.

measured mass fraction burned characteristics were input into the model, a difference

between these two curves must mean thatηcomb was underestimated.

2500 3000 3500 4000 4500400

500

600

700

800

Engine Speed (rpm)

BS

FC

(g/k

Wh

)

Measured

Predicted

Figure 4.22: Measured versus predicted brake specific fuel consumptionfor the YZ250 withthe High Inertia drivetrain.

This outcome was expected, but it created a dilemma: the correct shape and position

(along the engine speed axis) of the performance curves could only be attained with

artificially low estimates ofηcomb, SE, or both, but good agreement of the fuel con-

sumption, and BMEP/CE relationships required higher estimates.

The dilemma remains. If the convection heat transfer coefficient between the exhaust

gas and the walls could be increased, this would lower the gastemperatures and give

the desired leftward shift in the performance curves. Whilenot directly possible via

the Virtual 2-Strokeinputs, this condition was simulated by artificially lowering the

69

wall temperatures below the measured skin temperatures. This, however, caused a

mismatch in the measured and predicted exhaust pressure traces. The magnitude of the

predicted pressure pulses during blowdown was too high compared to the magnitude

during trapping, as shown at 2950 rpm, for example, in Figure4.23. The excessively

low assumed wall temperatures caused undue energy loss fromthe exhaust gasses.

86 132 180 228 2740.6

0.8

1.0

1.2

1.4

1.6

1.8EPO TPO TPC EPC

θ (◦ ATDC)

Pex

(bar

)

Measured

Predicted

Figure 4.23: Measured versus predicted exhaust pressure versus crank angle atω = 2950 rpm.The predicted trace is a result of assuming low exhaust pipe wall temperatures.

After several hundred iterations, it was still unknown whatsteps were required to rec-

oncile the modelling dilemma, and it was determined that going further would deviate

too far from pursuing the intended objectives of this study.Some suggested possibili-

ties for further study are:

1. increase the heat transfer coefficient between the gas and cylinder walls

2. decrease the assumed SE/SR characteristic at low engine speed, but leave it as

measured at medium and high engine speeds

5. YZ250 DRIVETRAIN MODEL VALIDATION RESULTS ANDDISCUSSION

5.1 Overview

In Chapter 4 we examined the test engine’s response to drivetrain speed fluctuations

and merely assumed the fluctuations were present. The ability to predict these fluctu-

ations would be a valuable design tool. It would allow enginedesigners to examine

the behaviour changes due to drivetrain effects early in the design process. To this

end, a validated mathematical model of the mechanical dynamics of the rotating and

reciprocating parts of the engine and drive line could predict these speed fluctuations.

Presented in this chapter are the mechanical dynamics testsperformed on the research

engine. To validate the model of the drivetrain, crankshaftdynamics measurements are

compared with predictions from the models. As will be discussed below, the choice

of data reduction algorithm struck a balance between fully exploiting the data and

avoiding overly sensitive mathematics.

5.2 Angle Domain Analysis

The first method for analysing mechanical dynamics is to examine the crankshaft speed

versus rotational angle. Figure 5.1 shows the crankshaft speed fluctuations within a

cycle at an average speed,ω, of 2950 rpm, simulated by theSimulinkmodel and mea-

sured on the test rig. As can be seen, the overall amplitude, phase, and frequency of

the response were well predicted.

This, however, is only one engine speed. The following section expands the discussion

to include all engine speeds.

70

71

−180 −90 0 90 1802700

2800

2900

3000

3100

3200

3300

MeasuredPredicted

θ (◦ ATDC)

ω(r

pm)

Figure 5.1: Measured and predicted crankshaft speed within the cycle at ω = 2950 rpm.

5.3 Angular Frequency Domain Analysis

The speed sweep described in§3.3 provided a means to examine the response of the

system across the whole operating speed range of the engine.Figure 5.2 shows the

measured drivetrain response during the sweep, in the angular frequency domain. The

graphs describe the response of the crankshaft speed to an excitation in the 1st har-

monic, which means a sinusoid of the same angular frequency as the engine’s mean

rotational speed for a given cycle.

The top graph shows the ratio of the crankshaft speed fluctuation (ω′) to the amplitude

of the forcing function,τforcing, which is a time-varying torque. This ratio is the “gain”.

That is, given a cyclic forcing function 1 N m in amplitude,ω′/τforcing shows how much

the crankshaft speed will deviate fromω, in units of rpm. It should be noted that near

resonant speeds, the steep-sided form of the response characteristic means that any

model will be sensitive to inaccuracies in the assumed stiffnesses and inertias of the

components. A small change in the resonant speed can result in large changes in the

predicted crankshaft speed variation.

72

1500 3000 45000

0

2

4

6

Angular Frequency (rpm)

ω′ /τ

(rpm/N

m)

∆φ

π

Figure 5.2: Measured frequency response to a torque applied to the Low Inertia drivetrain offrequency corresponding to the first harmonic of the crankshaft angular frequency.

The bottom graph shows the phase difference betweenτforcing andω′. This describes

the lead or lag the crankshaft velocity profile will have relative to the phase of the

forcing function. Again, only the first harmonic component is considered in this case.

Figure 5.3 shows this in another manner. Across the top are the calculated profiles of

the torque due to gas pressure on the piston (τgas) at 2000 rpm, 2500 rpm, and 3000 rpm,

respectively. Across the bottom are the corresponding measuredω profiles.

As can be seen, though the phase of the torque profile (the forcing function) remained

unchanged, the phase of the response shifted with changingω, completely reversing

in 1000 rpm around the resonant speed. This behaviour means that a simplistic drive-

train model would not be sufficient to predict the change in engine performance due to

crankshaft speed fluctuations. A speed characteristic either from a detailed multi-mass

73

−100

0

100

200

300

−180 0 180

−0.1

0

0.1

θ (◦ ATDC)

ω′ /ω

τ gas

(Nm

)

ω = 2000 rpm 2500 rpm 3000 rpm

Figure 5.3: Calculatedτgasandω′/ω versus crank angle at three different mean speeds.

drivetrain model or else from measurements on the running engine was required for

the engine model.

Referring again to Figure 5.2, it can be seen that the measured response resembled

a simple damped resonance, as shown in Figure 5.4. Starting at low frequency, a

low gain response leads to an increasing gain with increasing frequency. This rise

becomes progressively steeper near the resonant frequency, f0, which corresponds to

the peak gain. From there, the gain subsides towards zero. The phase response starts

flat, undergoes a shift ofπ rad, centred on the resonant frequency, then goes flat again.

All of the above characteristics are seen in Figure 5.2. However, note that, compared

to a normal resonant response, the rising edge of the gain response goes too steep at

2750 rpm and contains an inflection point in the curve. Also, there is another inflection

point on the falling edge and another overly steep section. As will be shown below,

these features were caused by a nonlinearity in the system.

74

0.5 1 1.5 2

1

gain

ω/ f0

Figure 5.4: A generalised first order damped resonant response.

Focusing again on the behaviour at 2950 rpm, it can be seen in Figure 5.1 that the

speed characteristic was comprised mainly of a first harmonic sinusoid, superimposed

by significant fifth and higher harmonics. These cyclic bumpscorrespond to peaks in

the angular frequency domain at that particularω. Plotting all the harmonics, up to that

limited by noise, allows us to examine these cyclic responses more clearly.

Figures 5.5 and 5.6 show the measured and predicted gain and phase response of the

measured and predicted data for all harmonics from the first to the eighth. The mea-

sured first harmonic response is duplicated here from Figure5.2 for comparison. There

are several features of the graphs to highlight. Firstly, the occurrence of multiple peaks

in the gain plots across the harmonics implies a system of order greater than two, that

is, more than two masses were moving independently. This means that a two-mass

model would have been inadequate to predict the motion of thesystem. This was the

reason that a seven-mass model was chosen.

75

1500 3000 4500

0

0

2

4

6

ω′ /τ

(rp

m/N

m)

∆φ

angular frequency (rpm)1st harmonic

−π

π

2nd

3rd

4th

Figure 5.5: Gain and phase response of the crankshaft to a torque input through a multi-mass system. Measured (solid) and predicted(dashed) data ofthe first through fourth harmonic responses are shown.

76

1500 3000 4500

0

0

2

4

6

ω′ /τ

(rp

m/N

m)

∆φ

angular frequency (rpm)5th harmonic

−π

π

6th

7th

8th

Figure 5.6: Measured (solid) and predicted (dashed) fifth through eighth harmonics of the frequency response.

77

Next, note that the prediction of the overall shape and magnitude of the responses

was reasonable. This means that the measurements and estimations of the inertias,

stiffnesses, and dampings, and the choice of grouped lumps was reasonable. Most

importantly, for engine performance effects, the peak at 2500 rpm in the 1st harmonic,

the peaks at 3000 rpm in the 5th and 6th harmonics, and the peak at 3750 rpm in the 4th

harmonic are all well predicted.

Still, the measured bumps in the gain response at 2500 rpm in the 2nd, 3rd, and 4th

harmonics are missing from the prediction. Also, the sharp peaks in the 6th, 7th, and 8th

harmonics between 2000 rpm and 2500 rpm are missing.

Turning attention to the phase responses in Figures 5.5 and 5.6, first examine that of the

1st harmonic. The offset of 2π rad is most evident yet least consequential. A difference

of that magnitude is an artifact of the mathematics and merely represents a complete

rotation around the unit circle. If shifted by 2π, it can be seen that the two responses

would be in agreement. When transforming the data back into the angle domain, no

difference will be generated. A piecewise analysis of the data would eliminate this

artifact, but that was outside the scope of this study.

The phase responses of the first and second harmonics were well predicted, but those

of the third and fourth were not. It should be noted that the phase response is sensitive

to noise when the gain approaches zero. Indeed, the phase response (a vector direction)

of a system is undefined at any angular frequency at which the gain (a vector length)

equals zero. The artifact of the mathematics is that the vector in the imaginary/real

plane shrinks in length to zero and then grows again, with a rapid change in phase. This

can be more clearly shown in Figure 5.7, which shows a plot of the same data on a plane

with one dimension representing the imaginary component and the other representing

the real component of the frequency response (a Nyquist plot). As the trace passes

78

through zero, the phase change is rapid though of little consequence because of the

attenuation towards zero gain.

−1 0 1−1

0

1

Im

Re

Figure 5.7: Nyquist plot of the measured frequency response in the third harmonic.

As mentioned already, the gain of the first harmonic responsewas reasonably well

predicted. Similarly, the gain of the second through eighthharmonics were well pre-

dicted, though the magnitudes of the gains were relatively low, especially those of the

second and third. This small gain meant that the speed response was insensitive to

the forcing function in that harmonic, hence the accuracy ofthe model was of reduced

consequence.

It should also be noted that with increasing harmonic order,the corresponding rotation

length of the crankshaft motion of the response decreases proportionally. The first

harmonic response represents a single speeding up and slowing down within one cycle.

For this two-stroke cycle, where one cycle spans one revolution, that meant a response

across 180◦ of crankshaft rotation. This affected the timing of the exhaust port closure

versus its opening, for example, because the events were roughly 180◦ apart. As will

79

be seen in Chapter 6, this meant that it had a significant effect on synchronisation of

scavenging and trapping pulses in the exhaust system with port open area. The second

harmonic represents a response over 90◦ of crankshaft rotation, the third 60◦ . . . and

the eighth 22.5◦. Because the primary factors influencing performance tend to be on

the order of 180◦ apart, the first harmonic response will be the most influential on

performance, and the higher orders will be of less importance.

The accuracy of the predicted response was significantly improved with the addition

of a nonlinear characteristic of springk45, which represented the spring coupling dis-

cussed in§3.3. At a twist angle of 5◦, the drive dogs of the coupling contacted each

other. This was modelled as a stepwise increase in the stiffness of the joint, as show in

Figure 5.8.

0 50

500

1000

∆θ (◦)

torq

ue

(Nm

)

4450 Nm/rad

44000

Figure 5.8: Model of nonlinear behaviour of springk45.

Results of the addition of this sub-model are shown in Figures 5.9 and 5.10. Firstly,

note the asymmetry of the 1st harmonic gain response and the steep falling side of the

curve at 2800 rpm. Both of these features are a result of the nonlinear behaviour of

k45 and represent an improvement in the accuracy of the model. The missing bumps at

2500 rpm in the 2nd, 3rd, and 4th harmonics are now present, and the sharp peaks from

2000 rpm to 2500 rpm in the 6th, 7th, and 8th harmonics have appeared also. Overall,

the predicted and measured responses are better matched.

80

1500 3000 4500

0

0

2

4

6

ω′ /τ

(rp

m/N

m)

∆φ

angular frequency (rpm)1st harmonic

−π

π

2nd

3rd

4th

Figure 5.9: Gain and phase response of the crankshaft to a torque input through a multi-mass system. Measured (solid) and predicted(dashed) data ofthe first through fourth harmonic responses are shown. Predicted results here include the non-linear behaviour of spring k45.

81

1500 3000 4500

0

0

2

4

6

ω′ /τ

(rp

m/N

m)

∆φ

angular frequency (rpm)5th harmonic

−π

π

6th

7th

8th

Figure 5.10: Measured (solid) and predicted (dashed) fifth through eighth harmonics of the frequency response. Results include thenon-linear behaviourof springk45.

82

5.4 Comparison of the Numerical and Analytical Models

As introduced in§ 2.4.2, two different mass-elastic models of the drivetrain were used

in this study. The first was a numerical model (solved by two different but equiva-

lent methods), and the second was an analytical model based on the matrix method

presented by McCartan (1995). They represented two different approaches to solving

the equations of motion given a torque versus crankshaft angle forcing function. Each

method each had its strengths and weaknesses.

The numerical method strengths were:

• it allowed simulation of cycle-to-cycle transient responses

• it allowed nonlinear sub-models

• it allowed branched systems (for example, the fluid damper)

The numerical method weaknesses were:

• poor computation time/ accuracy tradeoff

• sensitivity to initial conditions

• the solution could go unstable (chatter)

• noise was introduced to the high order harmonics due to discrete time steps

• difficulty in achieving steady-state without affecting system behaviour

The analytical method strengths were:

• fast computation time

• stable solution with any reasonable input parameters

• no initial conditions to choose

• automatic guarantee of steady-state operation, which happens to simulate an ide-

alised dynamometer

The analytical method weaknesses were:

83

• it could not simulate cycle-to-cycle transient effects

• it could not simulate nonlinear effects

• it could not simulate branched systems

Because the analytical model was not capable of modelling nonlinear effects, we will

first examine the results of the two methods with the nonlinear sub-model discussed

in §5.3 excluded from the numerical model. Figures 5.11 and 5.12compare the re-

sults generated by the numerical and analytical models—again, with the nonlinear

sub-model removed from the numerical method.

84

1500 3000 4500

0

0

2

4

6

ω′ /τ

(rp

m/N

m)

∆φ

angular frequency (rpm)1st harmonic (a)

−π

π

2nd

3rd

4th

Figure 5.11: Analytical (solid) versus numerical (dashed) method, notincluding the non-linear behaviour of springk45, and withJs removed.

85

1500 3000 4500

0

0

2

4

6

ω′ /τ

(rp

m/N

m)

∆φ

angular frequency (rpm)5th harmonic

−π

π

6th

7th

8th

Figure 5.12: Analytical (solid) versus numerical (dashed) method, notincluding non-linear behaviour or the effects ofJs andcf .

86

Examining the gain graphs first, we can see that overall, the responses were well

matched. The 1st harmonic shows excellent agreement at all angular frequencies, with

only a slight deviation near the resonant point. The 2nd, 3rd, and 4th harmonics also

show excellent agreement across the angular frequency range except for a bump at

2500 rpm on the 2nd harmonic response. The higher harmonic responses are also well

matched, except for noticeable bumps again at 2500 rpm, and some “ringing” that will

be discussed below.

Turning attention to the phase graphs, we see that the 1st harmonic shows good correla-

tion across the frequency range once the 2π offset is ignored, as does the 2nd harmonic

response up to a frequency of 2500 rpm. Note that∆φ for the 2nd and 3rd harmonic re-

sponses will be especially sensitive because the magnitudeof the vector, as seen in the

corresponding gain graphs, is very close to zero at frequencies greater than 3000 rpm.

The phase difference of the 4th harmonic was similarly sensitive at frequencies up to

3000 rpm, but then the two track each other quite well, again once we ignore the 2π

offsets.

The main difference between the two models was the simulation of transient effects.

These are noticeable in several places on the graphs. The first is seen from 2250 rpm–

2500 rpm on the rising face of the resonance in the 1st harmonic gain response. Because

the numerical model was sweeping through the engine speeds from low to high, there

was not enough time to achieve a steady state before accelerating to a higher speed.

Thus, the sharp rise in gain acted like a step response in time, which was reflected

in the 2nd, 5th, 6th, 7th, and 8th harmonics by characteristic peaks around 2250 rpm

that are absent from the analytically derived results. As you will recall from §2.4.2,

the analytical model solved only the steady-state solutionto the equations of motion.

Therefore, it showed only the fully developed resonance at each engine speed.

87

Turning our attention back to the “ringing” present at regular intervals of angular fre-

quency, most noticeably at the high harmonics, this too was atransient effect. The

“ring” profile is directed from low to high engine speed because the engine was ac-

celerating as time progressed. Had the simulation instead modelled the system as de-

celerating from high to low speed, these profiles would have been facing the opposite

direction. Again, the analytical model simulated the drivetrain in a quasi-steady state,

as if the engine speed was steady at each calculated point (ofwhich there were about

1000). It, therefore, did not exhibit the ringing behaviour.

The offset of 2π rad seen in the 1st harmonic phase response was inconsequential, as

mentioned earlier. It was an artifact of the data reduction technique only. It can be

seen that a phase shift of−π/2 results in the same angle as a shift of 3π/2. Again, a

piecewise analysis of the data would eliminate this artifact.

To see the effects of the nonlinear springk45 and the branched model of massJs, another

set of simulations was run, this time with the nonlinear sub-model reintroduced into

the numerical model. Figures 5.13 and 5.14 show the results.

88

1500 3000 4500

0

0

2

4

6

ω′ /τ

(rp

m/N

m)

∆φ

angular frequency (rpm)1st harmonic

−π

π

2nd

3rd

4th

Figure 5.13: Analytical method (solid) and numerical method (dashed) predicted first through fourth harmonics of the frequency response, includingnonlinear effects.

89

1500 3000 4500

0

0

2

4

6

ω′ /τ

(rp

m/N

m)

∆φ

angular frequency (rpm)5th harmonic

−π

π

6th

7th

8th

Figure 5.14: Analytical method (solid) and numerical method (dashed) predicted fifth through eighth harmonics of the frequency response, includingnonlinear effects.

90

Referring to the gain plots, notice an asymmetry of the 1st harmonic response has been

introduced, along with a small dip to zero on the 2nd harmonic response. There are now

extra bumps on the 3rd and 4th harmonics at 2500 rpm. Meanwhile, the dip in the 3rd

harmonic response at 2500 rpm that agreed before is now absent from the numerical

model response. There is also an extra sharp spike at 2500 rpmon the 6th harmonic

plot, and similar spikes also at 2500 rpm on the 7th and 8th harmonic plots. These were

due to the nonlinear effects of stiffnessk45 included in the numerical model.

An asymmetry of the 1st harmonic gain response has been introduced, along with a

small dip to zero on the 2nd harmonic response. The extra bump noted on the 3rd

and 4th harmonics at 2500 rpm have vanished, and instead are replaced by a dip that

matches the analytical results. So far, the two sets of predicted responses are much

closer to each other. Referring to Figure 5.12, the extra spikes at 2500 rpm on the 6th,

7th, and 8th harmonics are gone.

The 5th through 8th harmonic phase responses of the numerical model vary wildlyespe-

cially at a frequency of 2500 rpm while those of the analytical model follow relatively

smooth responses. The large jumps at 2500 rpm were due in partto the nonlinear ef-

fect, however the gain residing so close to zero for a large portion of the frequency

range makes∆φ jump up or down by 2π. Once again, a data reduction technique that

used a piecewise analysis would have eliminated these jumps.

From these, it was determined that the nonlinear springk45 was causing bumps in all

harmonics at angular frequencies where∆θ45 was large enough (> 5◦) for the∆θ versus

τ of k45 to reach the step increase in torsional stiffness (see Figure 5.4).

Both methods revealed their strengths and weaknesses during the course of this study.

It is recommended that if computational time is precious andintricate details of non-

linearities and other such subtleties can be ignored, the analytical method should be

91

favoured. If instead details of the exact dynamic response are to be studied at the ex-

pense of computing time and modelling effort, the numerical model should be favoured.

5.5 The Quasi Steady-State Assumption

An underlying assumption made in the Fourier decompositionis operation in a steady-

state condition (BICERA 1958). During the sweep test, however, the engine was ac-

celerating with each cycle, albeit relatively slowly due tothe massive inertia wheel.

Therefore, a quasi-steady assumption had to be made. To demonstrate the validity of

this assumption, examine Figure 5.15. It shows the measuredcrankshaft speed pro-

file at 3000 rpm both during the sweep and during the steady-state run against the

dynamometer. No significant difference between the two can be seen.

−180 −90 0 90 1802700

2800

2900

3000

3100

3200

3300

SweepSteady

θ (◦ ATDC)

ω(r

pm)

Sca

Figure 5.15: Measuredω(θ) profiles with the engine running steady-state against the dy-namometer (dashed line) and accelerating against the inertia wheel only, with thedynamometer turned off (solid line).

This correlation also provides evidence that the dynamometer was not imposing sig-

nificant in-cycle torque fluctuations on the system when usedfor the steady-state tests.

This validates the sub-model described in§2.4.2, in which the dynamometer was sim-

92

ulated by applying a torque proportional toω to the inertia station corresponding to the

dynamometer rotor.

However, the speed fluctuations at the dynamometer rotor were small because it was

connected to the inertia wheel relatively rigidly comparedto the stiffness of the spring

coupling. This could be easily seen on the predicted speed fluctuations for that inertia

station, shown in Figure 5.16. Without the large inertia wheel in the system, rotor

speed fluctuations could be much larger, so perhaps a significant effect could arise.

−180 −90 0 90 1802700

2800

2900

3000

3100

3200

3300

θ (◦ ATDC)

ω(r

pm)

Figure 5.16: Predicted in-cycle speed of the dynamometer rotor shaft atthe sameω as shownin Figure 5.15.

6. DRIVETRAIN EFFECTS ON PERFORMANCE OF VARIOUSSMALL ENGINES

6.1 Overview

Now that the link between the drivetrain model and engine simulator had been vali-

dated with the YZ250 results, it could be used to examine a variety of different en-

gines. As hypothesised in§1.2, engines that exhibit a combination of high amplitude

in-cycle speed fluctuations and a sensitivity to them shouldshow a significant change

in performance depending on drivetrain effects. So, five engines were chosen to test

this statement. According to these criteria, three of the engines were likely to display

a significant change in performance, while the other two werenot.

Table 6.1 summarises the specifications of the chosen engines. The 250 cm3 motocross

engine is the modified Yamaha YZ250 discussed in Chapters 4 and 5, and is shown here

for comparison only. The 400 cm3 motocross engine was based on a Yamaha YZ400F

four-stroke. The 125 cm3 model was based on a Honda RS125 Grand Prix motorcycle

engine. The 500 cm3 model was also based on a Honda RS125 engine, except with

the cylinder replicated. This is representative of the actual GP 500 engines, which

are essentially four 125 cm3 engines connected together. InertiaJ for the GP 500 was

calculated from a pair of Yamaha YZR500 crankshafts. With their combination of

low inertia and a steep torque curve, these engines should have produced significant

in-cycle speed fluctuations and shown a significant change inperformance from them.

The 36 cm3 utility engine was based on a brush cutter with a long, flexible shaft. The

900 cm3 marine outboard engine was based on a typical production unit. The 36 cm3

engine should have produced large amplitude fluctuations due to its very small inertia,

but its flat torque versus speed characteristic should have made it insensitive to them.

93

94

Conversely, the outboard engine should have been sensitiveto fluctuations due to its

cross-charged exhaust design, but should have experiencedonly small fluctuations due

to the large inertia of its rotating assembly. Therefore, according to the hypothesised

criteria, both of these engines should not have shown a significant change in perfor-

mance compared to operation with steady in-cycle crankshaft speed.

Table 6.1: List of engines studied.

engine type swept volume cylinders type J torque(cm3) (kg/cm2) curve

motocross 250 single 2-Stroke 59 steepmotocross 400 single 4-Stroke 80 steep

GP 125 125 single 2-Stroke 30 steeputility 36 single 2-Stroke 7.6 flat

outboard 900 3 2-Stroke 1000 mediumGP 500 500 4 2-Stroke 98 steep

Table 6.2 shows the different methods used to generate in-cycle speed data for each

engine. Again, the YZ250 is shown for reference only. As discussed in Chapters 4

and 5, performance with measured data input into the engine simulator was compared

to predictions assuming zero in-cycle fluctuation amplitude. Speed data from the mass-

elastic model were compared to the measured data. Measured speed data from a firing

YZ400F were used similarly, as were data from a free-mass model, which is a simpli-

fication of a mass-elastic system. To explore the effect of the gear reduction between

the crankshaft and the prominent flexible coupling in the system, a mass-elastic model

including a geared branch was employed. It will be shown thatthe gear reduction al-

lowed the free-mass model to adequately simulate the actualdrivetrain responses of

the YZ400F and RS125.

Because the GP 500 engines also used a gear reduction betweentheir twin crankshafts

and the clutch housing, the free-mass method was deemed adequate for predicting in-

cycle speed data. Further, the objective was simply to estimate whether or not the firing

configuration could have a significant on the engine performance.

95

The RS125 engine was simulated with measured in-cycle speeddata input into the

engine simulator. Like the YZ400F, this engine was connected to the drivetrain via the

transmission output shaft. Unlike the YZ250, the drivelinebetween the output shaft

and dynamometer rotor was a conventional arrangement used for dynamometer testing.

The results presented below added further confidence to the conclusions reached in

Chapter 4, and with a real-world application.

The drivetrain for the 36 cm3 engine was modelled with both a two-mass system and

a free-mass system. However, as discussed below, the choiceof model was irrelevant

because the engine was insensitive even to large fluctuations. The marine outboard en-

gine was modelled with a free-mass system only. This was adequate to predict that the

in-cycle speed fluctuations were too small to cause a significant change in performance.

Again, more detail is given in the following discussion.

Table 6.2: Methods used to generate in-cycle speed data for each engine.

Engine Method

Measured Mass-Elastic Free-Mass Geared

YZ250 X X

YZ400F X X X

36 cm3X X

RS125 X X X

GP 500 X

outboard X

6.2 Yamaha YZ400F Engine Results

With its single-cylinder design, high IMEP, low firing frequency due to the four-stroke

cycle, and low inertia, the YZ400F should have generated large in-cycle speed fluctua-

tion amplitudes. A four-stroke was chosen specifically to contrast with the two-stroke

engines. While the lower firing frequency of a four-stroke generates larger fluctuation

amplitudes, the rate of change of open area of a poppet valve is much slower than that

of a piston controlled port. That would cause the engine to berelatively less sensitive to

96

wave dynamic effects and therefore timing and synchronisation of the pistonposition

with the waves in the intake and exhaust pipes. Figure 6.1 shows a typical speed profile

measured from the engine. As can be seen, a typical fluctuation was indeed large. The

amplitude exceeded 1100 rpm, or 16% ofω.

−180−114 0 112 330 396 540 5800

6000

6200

6400

6600

6800

7000

7200EO ECIOIC

θ (◦ ATDC)

ω(r

pm)

ω = measured fluctuation

ω

Figure 6.1: Measured speed profile for the YZ400F engine atω = 6500 rpm.

With fluctuations this large on an engine with a steep torque curve, significant changes

in performance would be expected. Figure 6.2 shows the predicted BMEP character-

istic for the engine with and without in-cycle speed fluctuations input into the engine

simulation. As seen on the graph, BMEP at lowω decreased by up to 0.34 bar, or 2.8%,

at 6000 rpm. The effect diminished at high speeds due to a reduction in fluctuation am-

plitudes relative toω, which is discussed later.

The decrease in BMEP can be explained by a decrease in IMEP andan increase in

PMEP. Figure 6.3 shows the IMEP curves for the two simulations. The maximum

decrease was 0.19 bar at 6500 rpm, or 1.3%. This, therefore, accounted for just over

half of the decrease in BMEP. As seen in Figure 6.4, charging efficiency dropped

by 1.6% at similar speeds, and the graph shows a nearly identical change in profile

97

5000 6000 7000 8000 9000 10000 110006

7

8

9

10

11

12

13

Engine Speed (rpm)

BM

EP

(bar

) fluctuating

zero fluctuation

Figure 6.2: Predicted BMEP characteristics for the YZ400F engine.

as the IMEP curves in Figure 6.3. This is reasonable, becauseall combustion related

parameters and the friction models were held fixed between the two simulations.

5000 6000 7000 8000 9000 10000 1100011

12

13

14

15

16

17

Engine Speed (rpm)

IME

P(b

ar)

fluctuating

zero fluctuation

Figure 6.3: Predicted IMEP characteristics for the YZ400F engine.

Next, by examining the delivery ratio characteristics, shown in Figure 6.5, we can see

that the changes in DR and CE were nearly identical. This implies that the trapping

efficiency effects were minimal, as verified in Figure 6.6. TE changed by only 1.1% at

5000 rpm, and less than 0.5% at all other speeds.

98

5000 6000 7000 8000 9000 10000 110000.85

0.90

0.95

1.00

1.05

1.10

Engine Speed (rpm)

Cha

rgin

gEffi

cien

cy

fluctuating

zero fluctuation

Figure 6.4: Predicted charging efficiency characteristics for the YZ400F engine.

5000 6000 7000 8000 9000 10000 110000.85

0.90

0.95

1.00

1.05

1.10

Engine Speed (rpm)

Del

iver

yR

atio

T

fluctuating

zero fluctuation

Figure 6.5: Predicted delivery ratio characteristics for the YZ400F engine.

99

5000 6000 7000 8000 9000 10000 110000.85

0.90

0.95

1.00

1.05

1.10

FluctuatingZero Fluctuation

Engine Speed (rpm)

Tra

ppin

gEffi

cien

cy

Figure 6.6: Predicted TE characteristics for the YZ400F engine.

Figure 6.7 shows the pumping loss characteristics for the two simulations. PMEP

increased by up to 0.14 bar at 6000 rpm. Like IMEP, pumping losses changed the most

at low speeds and the effect diminished with increasing speed.

5000 6000 7000 8000 9000 10000 11000

0.2

0.6

1.0

1.4

1.8

2.0

Engine Speed (rpm)

PM

EP

(bar

)

fluctuating

zero fluctuation

Figure 6.7: Predicted PMEP characteristics for the YZ400F engine.

To explain the mechanism behind the IMEP and PMEP degradations, we will examine

the behaviour at 6500 rpm. By examining the speed profile and pressure traces from

exhaust valve opening (EO) to exhaust valve closing (EC), itcan be shown that both

the IMEP and PMEP degradations were due to exhaust effects. Figure 6.8 shows in-

100

stantaneous crank speed (ω) versus crank angle during the exhaust process. As can

be seen, the speed was above the average (ω) during the entire process. This caused

the cylinder pressure (Pcyl) and exhaust pressure (Pex) to “smear” to the right (later)

in crank angle, as shown in Figure 6.9. This causedPcyl andPex to be higher during

the exhaust pumping and valve overlap periods, causing higher pumping losses. Intake

pressure (Pint) also shifted right (less left), but the intake valve had notyet opened.

By the time the intake valve did open (IO),Pint was coincident with the zero fluctu-

ation case. HigherPcyl combined with unchangedPint during valve overlap caused a

decrease in charge delivery to the cylinder.

112 330 396 5800

6000

6200

6400

6600

6800

7000

7200EO ECIO

θ (◦ ATDC)

ω(r

pm)

fluctuating speed

average speedin cycle,ω

Figure 6.8: Speed profiles during the exhaust period of the YZ400F engine at 6500 rpm.

Next, let us examine the intake cycle. Figure 6.10 shows the speed profile during the

intake period. It started above the average but ended below the average, which largely

cancelled the skew in the intake pressure profile.

Because the intake suction pulse was initiated by the intakevalve opening event, the

Pint traces are coincident near the intake opening event, IO. So,the two profiles began

coincident and remained coincident through the entire intake process. This is shown

in Figure 6.11 as the two lines on top of each other. Therefore, overall, the engine

101

112 330 396 0.0

0.5

1.0

1.5

2.0

2.5EO ECIO

θ (◦ ATDC)

Pre

ssur

e(b

ar)

Pcyl

Pex

Pint

PcylPex

Pint

Figure 6.9: Pressure in the cylinder and in the exhaust and intake ductsnear the cylinder versuscrank angle at 6500 rpm during the exhaust period. Shown are pressures for zerofluctuation (solid), and fluctuating (dashed).

270 330 396 540 6065800

6000

6200

6400

6600

6800

7000

7200ECIO IC

θ (◦ ATDC)

ω(r

pm)

measured fluctuation

zero fluctuation

Figure 6.10: Speed profiles during the intake period of the YZ400F at 6500rpm.

102

acted like it was running faster than expected during the exhaust pumping and overlap

periods, but not during the intake pumping period.

270 330 396 540 6060.0

0.5

1.0

1.5

2.0

2.5ECIO IC

θ (◦ ATDC)

Pre

ssur

e(b

ar)

PcylPex

Pint

Pcyl

Pex

Pint

Figure 6.11: Pressure in the cylinder and in the exhaust and intake ductsnear the cylinderversus crank angle at 6500 rpm during the intake period. Shown are pressures forzero fluctuation (solid), and fluctuating (dashed).

Unlike the YZ250 with its drivetrain connected directly to the crankshaft, discussed in

§5.3, all other speeds for this engine shared a similarly phased speed profile. This can

be seen in Figure 6.12. It showsω normalised againstω, versus crank angle. Seven

of the eleven tested speeds from 5000 rpm to 11000 rpm are shown. It can be seen that

they all shared a common shape. However, with increasing speed, the amplitude of

fluctuation relative toω decreased. This explains the diminishing of the performance

changes at high speeds.

As hypothesised in§1.1, the relative fluctuation amplitudes decreased becausea higher

ω meant more kinetic energy in the rotating assembly, so a given pulse of energy from

τgas changed the total energy by a smaller proportion. Also, the amplitude of τgas

decreased at high speeds, as indicated by the IMEP characteristic shown in Figure 6.3.

103

−180−114 0 112 330 396 540 0.8

0.9

1

1.1

EO ECIOIC

θ (◦ ATDC)

ω/ ω

ω = 5000 rpm

11000 rpm

Figure 6.12: Measured in-cycle speed fluctuations for the YZ400F engine.

So, IMEP was shifted down due to highPcyl, high Pex, and unchangedPint during

overlap, but only at low speeds. PMEP (a loss) was shifted up (worse) due to high

Pex during exhaust pumping, again more noticeably at low speeds. Together, these

combine to account for the reduction in BMEP.

As introduced in§2.4.3, a free-mass model was developed to study the possibility of

using a simple model to simulate the measured speed response. Figure 6.13 shows the

ω/ω profiles at the same speeds as in Figure 6.12. By comparing these figures, it can

be seen that the predicted curves from the free-mass model mimicked the basic shape

of the measured curves.

Figure 6.14 compares the BMEP characteristic predicted using the speed data from the

free-mass model with that predicted from the engine simulator employing the measured

speed data. Agreement was reasonable, except at the lowest three speeds, where a

difference of up to 0.19 bar was seen. This was due to the short period of reduced

speed around 540◦ ATDC, as seen in Figure 6.1 or 6.12, that a free-mass model would

not predict. Still, for such a simple model, these results are encouraging, as accurate

104

−180−114 0 112 330 396 540 0.8

0.9

1

1.1

EO ECIOIC

θ (◦ ATDC)

ω/ ω

ω = 5000 rpm

11000 rpm

Figure 6.13: In-cycle speed fluctuations for the YZ400F engine predicted by the free-massmodel.

in-cycle speed measurements are complicated, time consuming, and require expensive

instruments.

5000 6000 7000 8000 9000 10000 110006

7

8

9

10

11

12

13

FluctuatingFree−mass model

Engine Speed (rpm)

BM

EP

(bar

)

Figure 6.14: BMEP predictions using measured speed data input into the engine simulatorversus data from the free-mass model for the YZ400F engine.

The gear reduction between the YZ400F crankshaft and clutchhousing was responsi-

ble for the ability of the free-mass model to reasonably simulate the measured speed

profiles. A gear reduction makes any inertia on the slow side appear to the crankshaft

105

as 1/g2 times its actual inertia, whereg is the reduction ratio (BICERA 1958). This is

verified by Figure 6.15, which shows the trend in velocity response of the crankshaft

with increasingg. Plotted is the family of speed characteristics predicted by the three-

mass geared branch model, seen in Figure 2.9, with varyingg at anω of 6500 rpm. As

g grew large, the response approached that of a free-mass system, likeω = 6500 rpm

in Figure 6.13. Hence, the system began to behave like a crankshaft with inertia much

larger than anything attached to it. As stated in§2.4.3, this is the limiting case that

defines the free-mass model.

−180 0 180 360 5400.8

0.9

1

1.1

1.2

θ (◦ ATDC)

ω/ω

increasingg

g = 6.44.12.61.71.3

1.131.10

9.915

21

Figure 6.15: Family of curves showing the effect of gear ratio,g, on the velocity profile of theYZ400F at 6500 rpm.

6.3 Honda RS125 Engine Results

Like the YZ400F, the Honda RS125 engine used a gear reductionbetween the crankshaft

and the clutch housing. From the argument stated above for the YZ400F, we would

expect a free-mass model to adequately predict the in-cyclespeed response of the

crankshaft. Indeed, this was the case, as Figure 6.16 shows.The family of curves is

the normalised in-cycle speeds (ω/ω) for each steady engine speed from 9000 rpm to

13000 rpm, in increments of 500 rpm. The dashed lines represent measured data, while

106

the solid lines represent data predicted by the free-mass model. The speed response

was well predicted by the free-mass model.

−180 −114−84 0 84 114 1800.95

1

1.05EPOTPOTPC EPC

θ (◦ ATDC)

ω/ω

Figure 6.16: Family of curves showing measured in-cycle speed fluctuations versus those pre-dicted by the free-mass model, for the RS125 engine.

These results provided further evidence of the validity of the free-mass model for use

with geared systems. Because the GP 500 engines used a gear reduction, this allowed

use of the free-mass model in that case.

Because we have already extensively examined the YZ250, which was a single-cylinder

two-stroke engine with a steep torque curve like the RS125, the study of the RS125 was

limited to the above drivetrain results only. Also, the RS125 engine and the GP 500

engines were essentially identical except for the number ofcylinders. Therefore, the

Big Bang variation on the GP 500 engine model would perform almost exactly like

the RS125 model (except for minor differences in the intake system upstream of the

carburettors). So, we now turn attention to a multi-cylinder effect.

107

6.4 GP 500 Engine Results

Similarly to the YZ400F and RS125 engines, the GP 500 engine also employed a gear

reduction between the crankshaft(s) and the clutch housing. Therefore, it was supposed

that a free-mass model would provide at least a rough estimate of the actual crankshaft

speed profiles.

Figure 6.17 shows a typical pair of torque profiles acting on the crankshafts due to

gas pressure on the pistons (τgas) from each of the two configurations simulated for

the GP 500 engine. Because the Big Bang engine fired all four cylinders at once, it

produced a single peak during expansion and a single trough during compression, like

a single-cylinder engine would. In contrast, because the Even Fire engine fired twice

per revolution, it displayed the dual peak profile of a two-cylinder engine. Clearly,

the Big Bang configuration exhibited torque pulses of largeramplitude and lower fre-

quency.

−180 −114−84 0 84 114 180−200

0

200

400

600

θ (◦ ATDC)

τ gas

(Nm

)

Big Bang

Even Fire

Figure 6.17: Torque due to gas pressure (τgas) versus crank angle predictions for the GP 500engine in Big Bang and Even Fire configurations atω = 9000 rpm.

The torque due to gas pressure was added to the torque due to the reciprocation of the

piston assemblies and connecting rods. The latter is shown in Figure 6.18. Because the

108

masses were assumed to be the same, the profiles were similar.As discussed in Blair

(1996), the difference between the two was due to the effect of the finite rod length,

which was exhibited on the Big Bang configuration but cancelled on the Even Fire

configuration. It can be seen on the graph that theτirp profile of the Even Fire engine

is that of a simple sine wave, while that of the Big Bang engineis skewed inwards,

toward TDC. The total torques and resulting speed profiles are shown in Figure 6.19.

−180 −90 0 90 180−600

−400

−200

0

200

400

600

θ (◦ ATDC)

τ irp

(Nm

)

Big Bang

Even Fire

Figure 6.18: Torque due to the inertia of the reciprocating parts (τirp) versus crank angle pre-dictions for the GP 500 engines atω = 9000 rpm.

Figure 6.20 shows the predicted BMEP characteristics for the two configurations. The

Big Bang engine produced up to 0.33 bar, or 3.9%, higher BMEP at low speeds. Like

the YZ400F, the increase diminished at highω, but for a different reason, which will

be explained later. Unlike the YZ400F, however, the engine with the faster speed

during the open cycle in this case performed better. This is because the change in

speed affected the synchronisation of the exhaust pulses with scavenging and trapping

events, as discussed below.

The increase in BMEP at lowω can be explained by an increase in the charging effi-

ciency due to both DR and TE increasing, as show in Figure 6.21and Figure 6.22. At

12000 rpm, DR decreased significantly, but TE increased to offset it.

109

−180 −90 0 90 1808700

9000

9300

Big BangEven Fire

−400

−200

0

200

400

θ (◦ ATDC)

ω(r

pm)

τ(N

m)

Figure 6.19: Torque (above) andω (below) versus crank angle predictions for the GP 500engine in Big Bang and Even Fire configurations atω = 9000 rpm.

9000 10000 11000 12000 13000 8

9

10

11

12

Engine Speed (rpm)

BM

EP

(bar

)

Big Bang

Even Fire

Figure 6.20: BMEP characteristics of the GP 500 Big Bang engine and Even Fire engine.

110

9000 10000 11000 12000 13000

1.18

1.22

1.26

1.30

Engine Speed (rpm)

Del

iver

yR

atio

Big Bang

Even Fire

Figure 6.21: DR characteristics of the GP 500 engines.

9000 10000 11000 12000 130000.50

0.54

0.58

0.62

0.66

0.70

Engine Speed (rpm)

Tra

ppin

gEffi

cien

cy Big Bang

Even Fire

Figure 6.22: TE characteristics for the GP 500 engines.

111

To explain the increases in DR and TE, let us examine one sample speed, and then

extrapolate the discussion to include all speeds. Figure 6.23 shows the pressure in

the transfer port (Ptr), cylinder (Pcyl), and exhaust port (Pex) versus crank angle at

ω = 9000 rpm. By referencing the speed profiles during the open cycle, shown in

Figure 6.24, it can be seen that the Big Bang configuration exhibited a higherω from

the exhaust port opening (EPO) through most of the breathingevents. This caused the

crankshafts to traverse the scavenging period in less time and the pistons to close the

cylinder ports earlier. In the crank angle domain, this appears as a rightward skew in

Pex.

84 114 180 246 2760.6

0.8

1.0

1.2

1.4

1.6

1.8

2.0EPO TPO TPC EPC

θ (◦ ATDC)

Pre

ssur

e(b

ar)

PcylPex

Ptr

Pcyl

Pex

Ptr

Figure 6.23: Pressures in the cylinder, exhaust port, and transfer ports versus crank angle forthe Big Bang (solid) and Even Fire (dashed) GP 500 engines at 9000 rpm.

At 9000 rpm,ω was below the tuned speed. Therefore, the positive reflection of the

exhaust pulse arrived too early for optimum scavenging and trapping. The increase

in ω caused the crankshafts to rotate farther before the rising edge of the reflection

arrived. This exposed the cylinder to a lowerPex for more of the scavenging period,

which enhanced DR. The crankshafts were still ahead by the time the falling edge of

112

84 114 180 246 2768700

8800

8900

9000

9100

9200

9300EPO TPO TPC EPC

θ (◦ ATDC)

ω(r

pm)

Big Bang

Even Fire

Figure 6.24: Speed profiles during the open cycle for the GP 500 engines at9000 rpm.

the reflection arrived, which improved charge trapping by maintaining a higherPex for

more of the trapping period from transfer port closing (TPC)to exhaust port closing

(EPC). So, DR improved, and TE remained the same in spite of the increased charge

mass. This increased charge mass can be more directly demonstrated by examining

the predicted mass flow rate ( ˙m) from the transfer ports into the cylinder, shown in

Figure 6.25. The Big Bang configuration exhibited a higher flow rate at nearly all

points during the transfer period.

The Big Bang engine ran faster than the Even Fire engine during the open cycle at all

ω, as shown in Figure 6.26. From the above analysis, one would expect an increase

in performance below the tuned speed, zero effect at the tuned speed, and a decrease

in performance above the tuned speed. However, because the ignition timing was in-

creasingly retarded at speeds above 12000 rpm, the exhaust gas temperature increased

to keep the waves in tune all the way to 13000 rpm. So, every speed in that range was

“tuned”, and hence exhibited only a negligible difference in performance, even though

the speed fluctuations were still significant.

113

84 114 180 246 276−30

−20

−10

0

10

20

30

40

50EPO TPO TPC EPC

θ (◦ ATDC)

m(g/s

)Big Bang

Even Fire

Figure 6.25: Charge mass flow rate through the transfer port windows for the GP 500 enginesat 9000 rpm. Positive magnitude means flow was directed into the cylinder.

Therefore, simply by changing the firing configuration of a highly tuned, multi-cylinder

two-stroke engine, a significant change in performance can result. At the racing track,

GP 500 teams noticed that in general the Big Bang engines produced more low speed

torque than the Even Fire engines. The results discussed here show that in-cycle

crankshaft speed variation could have contributed at leastin part to this.

114

−180 −114−84 0 84 114 1800.95

1

1.05EPOTPOTPC EPC

Big BangEven Fire

θ (◦ ATDC)

ω/ω

ω = 9000 rpm

ω = 13000 rpm

Figure 6.26: Fluctuation profiles normalised againstω for the GP 500 engines at each testedspeed from 9000 rpm to 13000 rpm.

6.5 36 cm3 Utility Engine Results

The 36 cm3 utility engine was simulated using a two-mass model, which is discussed

in §2.4.2. The predicted performance results, shown in Figure 6.27, indicate only

a negligible change compared to a zero fluctuation amplitude. Except at 9500 rpm,

BMEP changed by less than 0.8%, or 0.03 bar.

Figure 6.29 shows that speed fluctuations exceeding 2000 rpm, or 40%, were predicted.

Is spite of such large fluctuations, the engine had such a flat CE curve that even a large

change in speed within the cycle had little effect on the breathing characteristics. This

was the expected result.

115

5000 6000 7000 8000 9000 100002

2.5

3

3.5

4

FluctuatingSteady

Engine Speed (rpm)

BM

EP

(bar

)

Figure 6.27: BMEP characteristics for the 36 cm3 utility engine with and without speed fluctu-ations input into the engine simulator.

5000 6000 7000 8000 9000 100000.20

0.25

0.30

0.35

0.40

FluctuatingSteady

Engine Speed (rpm)

Cha

rgin

gEffi

cien

cy

Figure 6.28: CE characteristics for the 36 cm3 utility engine with and without speed fluctua-tions input into the engine simulator.

116

0 90 180 270 360

4000

5000

6000

θ (◦ ATDC)

ω(r

pm)

Figure 6.29: In-cycle speed fluctuations at 5000 rpm for the 36 cm3 utility engine predicted bythe two-mass model.

6.6 Marine Outboard Engine Results

The three cylinder cross-charged engine was simulated withsteady speed and a free-

mass drivetrain model. Figure 6.30 shows the torque profile and the corresponding

speed trace at 2500 rpm. Because the rotational inertia of the crankshaft and flywheel

assembly was so large (0.1 kg m2) and the torque pulses from each cylinder were spread

out, the resulting speed fluctuation was only 35 rpm, or 1% ofω. Fluctuation ampli-

tudes at higherω were even smaller.

With such small fluctuations, it is not surprising that the change in BMEP from the

simulation using the free-mass model data instead of assuming zero fluctuation was

negligible. This can be seen clearly in Figure 6.31. Both lines are on top of each other.

117

−180 −90 0 90 180

2300

2400

2500

2600

2700

−200

−100

0

100

200

θ (◦ ATDC)

ω(r

pm)

τ(N

m)

Figure 6.30: In-cycle torque (above) andω (below) versus crank angle predictions for thethree-cylinder outboard engine atω = 2500 rpm.

2000 2500 3000 3500 4000 4500 5000 5500 60003

4

5

6

7

8

9

FluctuatingSteady

Engine Speed (rpm)

BM

EP

(bar

)

Figure 6.31: BMEP characteristics for the outboard engine with and without speed fluctuationsinput into the engine simulator.

7. CONCLUSIONS

In small, high performance two-stroke and four-stroke engines, in-cycle speed fluctu-

ations can be large, and can cause significant changes in performance. Fluctuations

up to 9% ofω were predicted and measured on the two-stroke YZ250 engine.These

led to measured and predicted changes in BMEP up to 14% and in BSHC up to 5%.

Measured fluctuations on the four-stroke YZ400F exceeded 16%, which corresponded

to predicted changes in BMEP up to 2.8%.

If significant in-cycle speed fluctuations are likely for a given engine, these perfor-

mance effects should be considered during design, simulation, simulation validations,

and dynamometer testing. For example, if steady in-cycle speed is assumed in the

simulation model, then that condition must be assured during validation, perhaps by

connecting a large flywheel to the crankshaft. Likewise, if large fluctuations exist on

a running engine, and it is likely to be sensitive to them, then the in-cycle speed data

should be incorporated into any simulation.

Good correlation between the predicted and measured drivetrain responses was achieved.

However, it should be noted that drivetrain response is sensitive to engine speed near

resonant frequencies. Large errors in predicted in-cycle speed characteristics can arise

from small errors in stiffness or inertia estimates.

Drivetrain effects can be investigated by either mathematically couplinga drivetrain

model to the engine model or by inputting a measured in-cyclespeed characteristic.

The latter avoids drivetrain modelling difficulties, but the former avoids experimental

difficulties.

118

119

In some cases, a multi-mass drivetrain model is necessary. The YZ250 research engine

and drivetrain showed a phase reversal in the first harmonic motion response within

the measured speed range. This means that a simple free mass model would have been

insufficient to model this drivetrain.

In other cases, a simple free mass drivetrain model is sufficient. On both the YZ400F

and RS125 engines, crankshaft speed data from a free-mass drivetrain model produced

in-cycle speed profiles similar to those measured.

When the in-cycle speed profiles from the measured data and from the free mass driv-

etrain results were input into the YZ400F engine model, bothsets of data produced

similar changes in predicted performance compared to a non-fluctuating profile. This

was expected, because the profiles were so similar.

If an engine’s crankshaft is coupled to the drivetrain by a gear reduction, as with the

YZ400F and GP 125 engines, the effective inertia of the drivetrain is reduced. As the

gear ratio increases, the behaviour of the crankshaft begins to approach that of a sim-

ple freely rotating mass. This is beneficial, because a free-mass system is a simple

drivetrain model. This allowed the free-mass drivetrain tobe used as a simplifying as-

sumption when modelling the GP 500 engines. Also, on many motorcycle engines, for

example, this has implications for choosing whether to drive a dynamometer directly

from the crankshaft or from the transmission output shaft. Because a free-mass system

cannot resonate, operating through gear reduction can avoid the possible complication

of the speed profile changing phase as the engine passes through a resonant speed.

A high performance multi-cylinder two-stroke engine can show significant changes in

performance depending on the firing arrangement. When firingall cylinders at the

same time, the GP 500 engine acted like a single-cylinder engine with the correspond-

ing drivetrain effects due to the large speed fluctuations. When firing cylinders 1&3,

2&4, it acted like a two-cylinder engine, with much reduced effects on performance.

120

The expectation that engines with a flat torque curve would beinsensitive to in-cycle

speed fluctuations was verified. The low performance single-cylinder two-stroke en-

gine showed only a negligible effect on full throttle performance in spite of large am-

plitude speed fluctuations.

Though an engine may be sensitive to fluctuations, they must be present to have an

effect. The three-cylinder cross-charged two-stroke outboard marine engine showed

only negligible changes in performance with speed fluctuations applied to the engine

model. In this case, the fluctuation amplitude was too low to cause any significant

change.

The sweep test method satisfied the quasi-steady assumptionnecessary for the Fourier

decomposition method of analysis. Repeating more than one cycle was necessary to

satisfy the infinite duration assumption of the method. Repeating twenty cycles proved

to be a reasonable compromise between the two conflicting demands.

No measurable in-cycle effect due to the action of the eddy current dynamometer was

seen for the drivetrains tested.

Depending on the ignition system design, significant timingvariations can arise due

to in-cycle crankshaft speed fluctuations. Therefore, careful attention is necessary to

avoid this potential problem on low inertia single-cycle engines such as the YZ250 test

engine.

Accurate crankshaft position measurements must include considerations for vibration

response of the sensor rotor. Without them, there is a possibility of the device moving

dynamically relative to the crankshaft.

The hypothesised strengths and weaknesses of the analytical and numerical methods of

drivetrain simulation were verified. The numerical model successfully modelled a non-

linear effect evident on the YZ250 test engine drivetrain. The analytical model had no

121

means for modelling this. However, at engine speeds where this nonlinear behaviour

was not present, the analytical model successfully matchedthe performance of the nu-

merical models. If computation time is precious and intricate details of nonlinearities

and transient effects can be ignored, the analytical method should be favoured. If in-

stead details of the exact nonlinear, dynamic response are to be studied at the expense

of computing time and modelling effort, the numerical models should be favoured.

APPENDICES

122

A. DERIVATION OF THE SIMPLIFIEDω′/ω RELATIONSHIPS

In this appendix are the derivations of the simplifiedω′/ω relationships used in the

introductory discussion of Chapter 1.

First, consider torque due to gas pressure on the piston,τgas. From the definition of

IMEP, the workW done on the piston by the gases each cycle is

W = IMEP ·ApLst, (A.1)

whereAp is the projected area of the piston andLst is the stroke length. Now, imagine

a single-cylinder engine with a rigid rotating assembly with moment of inertiaJ and

a massless reciprocating assembly. Also, assumeW is delivered to the piston in an

impulse. The kinetic energyE0 of the rotating assembly will increase by that amount:

E1 = E0 +W. (A.2)

The kinetic energy of a mass in pure rotation,E = 12Jω2, whereω is the angular

velocity. Substituting into Equation (A.2) and regrouping,

12Jω1

2 = 12Jω0

2 +W

becomes ω12 = ω0

2 +2WJ,

and then ω1 =

2WJ+ ω0

2. (A.3)

At this point, define the fluctuation amplitudeω′ such that

ω1 = ω0 + ω′.

Substituting into Equation (A.3) and solving forω′,

ω0 + ω′ =

2WJ+ ω0

2,

becomes ω′ =

2WJ+ ω0

2 − ω0. (A.4)

123

124

Next, imagine the engine is being resisted by a dynamometer,say, such that the cycle-

averaged speed,ω, remains constant from one cycle to the next. Substituteω for ω0

and Equation (A.4) becomes

ω′ =

2WJ+ ω 2

− ω.

The ratio of the fluctuation amplitude toω is then

ω′

ω=

2W

Jω 2+ 1− 1. (A.5)

Finally, substituting Equation A.1 into Equation A.5, we get

ω′

ω=

2 · IMEP ·ApLst

Jω 2+ 1− 1. (A.6)

Equation A.6 shows, given the simplified assumptions, how the fluctuation amplitude

varies with IMEP,J, andω. Results are discussed in Chapter 1.

Next, relax the assumption of a massless reciprocating assembly, and consider the

torqueτirp. It can be shown (BICERA 1958) that

τirp = −Lct2ω2

(

cosθ +Lct

Lcrcos2 θ

) (

mp +mca

Lcr

)

sinθ +

Lct

Lcrsinθ cosθ

1−Lct

2

Lcr2

sin2 θ

. (A.7)

In Equation (A.7),Lcr is the kinematic length of the connecting rod. LengthLct is

the crankshaft throw distance, which is equal to half the stroke if the engine has zero

gudgeon pin offset. Massmp is that of the piston assembly, including the gudgeon pin,

any pin retainers, the connecting rod bearing, and any piston rings. Massmc is the

mass of the connecting rod, anda is the distance from the crankshaft journal centre to

the centre of mass of the connecting rod. Several of the termsin the equation account

for the finite length of the connecting rod. To simplify the analysis for now,

let Lcr → ∞, and definea′ such thata

Lcr≡ a′.

125

This simplifies Equation (A.7) to

τirp = −Lct2ω2 cosθ

(

mp + a′mc

)

sinθ.

Next, invoke a quasi-steady assumption thatτirp is a function of a constant cycle-

averaged speed (ω) only, but that the speed itself (ω) can vary within the cycle. So,

τirp = −Lct2ω 2 cosθ

(

mp + a′mc

)

sinθ.

Regrouping the constants, we get

τirp =(

−Lct2ω 2

(

mp + a′mc

)

)

sinθ cosθ. (A.8)

For convenience, define a constantk such that

k ≡(

−Lct2ω 2

(

mp + a′mc

)

)

.

Substitutingk into Equation (A.8) and integrating both sides with respectto time, we

get

τirp dt = k∫

sinθ cosθ dt. (A.9)

Once again invoking the quasi-steady assumption, we can seethat the constantω is

ω =dθdt, so

dt =dθω.

Substituting into Equation A.9 fordt and integrating,

τirp dt =kω

sinθ cosθ dθ∫

τirp dt =kω

sin2 θ

2. (A.10)

Next, start with the equation of motion for pure rotation

τ = Jα,

126

whereα is the angular acceleration. Substitute the time rate of change ofω for α

τ = Jdωdt,

and integrate both sides with respect to time

τ dt =∫

Jdωdt

dt,∫

τ dt = J dω. (A.11)

Combining Equations A.11 and A.10 and solving forω,

Jω =k

2ωsin2 θ

ω =k

2Jωsin2 θ. (A.12)

Next, note that the maximum value sin2 θ can achieve is unity. With that, and expanding

k, we get an expression for the maximum in-cycle speed (ωmax) relative toω,

ωmax =−Lct

2ω 2(

mp + a′mc

)

2Jω

ωmax

ω=−Lct

2(

mp + a′mc

)

2J.

At this point, as with the above analysis ofτgas, let ω′ be the fluctuation amplitude

about the cycle-averaged speedω, soωmax = ω + ω′. Substitute, and finally solve for

the fluctuation amplitudeω′/ω

ω + ω′

ω=−Lct

2(

mp + a′mc

)

2J

1+ω′

ω=−Lct

2(

mp + a′mc

)

2J

ω′

ω=−Lct

2(

mp + a′mc

)

2J− 1. (A.13)

Equation A.13 is discussed in Chapter1.

B. DETAILS OF THEVIRTUAL TWO-STROKEAND VIRTUALFOUR-STROKEMODELS

B.1 Detailed parameters of the model of the modified YZ250two-stroke engine.

Figure B.1: Gas flow diagram for the modified YZ250 engine.

Table B.1: Port systems of the modified YZ250 engine.

characteristic Exhaust Transfer

1 2 1 2 3

Name EXHAUST TRANSFERSType DimensionedCount 1 1 1 2 2

Open (mm) 43.0 37.2 60.5 60.5 60.5Height (mm) 26.3 5.8 8.8 8.8 8.8Width (mm) 22.0 17.9

Open Flat Radius (mm) ∞ ∞

Open Fillet Radius (mm) 5.0 0.0 1.5 1.0 3.0Open Fillet Distance (mm) 37.9 10.0 21.5

Full Flat Radius (mm) ∞ ∞ ∞ ∞ ∞

Full Fillet Radius (mm) 18.7 0.0 1.5 1.0 1.0Full Fillet Distance (mm) 9.9 0.1 21.5

Entrance Angle (◦) 80 90 31 30 74Boundary type Plain Plain

Area Ratio 1 1Inflow Multiplier 1 1

Outflow Multiplier 1 1Forces Continuity false true

127

128

Table B.2: Burn characteristics of the modified YZ250 engine.

Speed ignition burn Wiebe Wiebe( rpm) delay duration A M

1500 8.0 44.3 5.08 1.102750 8.0 44.3 5.08 1.102800 7.5 42.6 5.10 1.192850 7.0 41.8 5.14 1.132900 6.4 41.0 5.12 1.212950 7.9 34.6 6.08 1.103000 5.7 39.2 4.99 1.123050 7.2 38.7 4.95 1.203100 7.3 39.8 5.23 1.233150 7.6 31.5 5.05 1.103200 7.4 39.9 4.99 1.233250 7.1 39.7 5.00 1.163500 7.5 38.2 5.10 1.253750 8.4 40.7 5.00 1.194000 9.2 42.3 4.86 1.144250 8.5 42.6 5.26 1.194500 7.4 39.7 5.43 1.235000 7.4 39.7 5.43 1.23

Table B.3: Coefficients of discharge for the butterfly valve (inflow).

Pressure Area Ratio

Ratio 0 0.2 0.4 0.6 0.8 1.0

1.0 0.808 0.753 0.674 0.633 0.584 0.4821.2 0.835 0.776 0.755 0.763 0.757 0.6811.4 0.859 0.838 0.859 0.918 0.910 0.8811.6 0.891 0.904 0.953 0.976 0.968 0.9551.8 0.925 0.938 0.963 0.974 0.967 0.9762.0 0.922 0.929 0.947 0.944 0.945 0.960

Table B.4: Coefficients of discharge for the butterfly valve (outflow).

Pressure Area Ratio

Ratio 0 0.2 0.4 0.6 0.8 1.0

1.0 0.808 0.753 0.674 0.633 0.584 0.4821.2 0.835 0.776 0.755 0.763 0.757 0.6811.4 0.859 0.838 0.859 0.918 0.910 0.8811.6 0.891 0.904 0.953 0.976 0.968 0.9551.8 0.925 0.938 0.963 0.974 0.967 0.9762.0 0.922 0.929 0.947 0.944 0.945 0.960

129

Table B.5: Coefficients of discharge for the modified YZ250 engine transfer ports (inflow).

Pressure Area Ratio

Ratio 0 0.2 0.4 0.6 0.8 1.0

1.0 0.934 0.866 0.704 0.656 0.629 0.5681.2 0.937 0.879 0.731 0.683 0.662 0.5961.4 0.950 0.898 0.772 0.755 0.726 0.6641.6 0.969 0.936 0.840 0.809 0.805 0.7191.8 0.989 0.972 0.883 0.848 0.847 0.7592.0 0.985 0.982 0.905 0.864 0.833 0.788

Table B.6: Coefficients of discharge for the modified YZ250 engine transfer ports (outflow).

Pressure Area Ratio

Ratio 0 0.2 0.4 0.6 0.8 1.0

1.0 0.806 0.784 0.751 0.752 0.751 0.6921.2 0.826 0.807 0.759 0.763 0.766 0.7091.4 0.857 0.820 0.792 0.778 0.788 0.7511.6 0.893 0.854 0.813 0.809 0.816 0.7781.8 0.925 0.893 0.853 0.845 0.847 0.8202.0 0.962 0.934 0.889 0.883 0.872 0.866

Table B.7: Coefficients of discharge for the modified YZ250 engine exhaust port (inflow).

Pressure Area Ratio

Ratio 0 0.2 0.4 0.6 0.8 1.0

1.0 0.942 0.758 0.625 0.556 0.538 0.5481.2 0.933 0.781 0.680 0.623 0.601 0.5901.4 0.948 0.835 0.761 0.729 0.719 0.6791.6 0.988 0.887 0.826 0.789 0.793 0.8171.8 0.993 0.918 0.874 0.838 0.867 0.8712.0 0.993 0.953 0.902 0.903 0.903 0.890

Table B.8: Coefficients of discharge for the modified YZ250 engine exhaust port (outflow).

Pressure Area Ratio

Ratio 0 0.2 0.4 0.6 0.8 1.0

1.0 0.923 0.847 0.750 0.699 0.687 0.7061.2 0.955 0.843 0.751 0.712 0.718 0.6971.4 0.972 0.864 0.768 0.743 0.761 0.7741.6 0.982 0.900 0.796 0.776 0.843 0.8261.8 0.993 0.920 0.831 0.818 0.860 0.8512.0 0.990 0.960 0.865 0.861 0.869 0.868

130

Table B.9: Exhaust pipe wall temperatures (◦C) for the modified YZ250 engine.

Speed Pipe Section

( rpm) 1 2 3 4 5 6 7 8 9

2750 150.0 334.6 315.0 302.1 232.2 176.1 173.1 191.3 206.42800 150.0 339.6 319.7 306.6 242.6 193.9 191.1 206.5 219.22850 150.0 352.9 329.6 314.3 251.0 206.7 202.8 213.5 222.32900 150.0 360.8 335.1 318.2 256.6 217.3 212.1 217.7 222.32950 150.0 370.1 342.5 324.3 262.9 225.9 220.3 223.7 226.53000 150.0 374.0 346.8 328.8 268.8 232.9 226.8 228.3 229.63050 150.0 379.4 351.7 333.3 274.5 240.7 233.9 233.0 232.23100 150.0 377.3 350.6 333.0 277.0 245.1 236.8 231.7 227.53150 150.0 372.6 348.3 332.3 280.5 250.5 241.5 233.8 227.43200 150.0 383.8 359.3 343.2 290.3 259.3 250.2 242.5 236.23250 150.0 397.3 372.2 355.6 300.6 267.8 257.6 248.2 240.53500 150.0 430.0 409.5 395.9 337.1 294.9 287.1 287.7 288.13750 150.0 448.4 427.5 413.8 352.0 306.6 299.4 302.7 375.04000 150.0 466.7 440.4 423.0 354.7 308.4 301.9 307.5 312.14250 150.0 463.3 455.6 450.5 390.6 332.1 314.4 299.0 286.34500 150.0 440.5 450.6 457.2 413.2 351.8 328.8 301.7 279.5

One-dimensional parameters of the YZ250 engine model can befound on the compact

disc inside the back cover.

131

B.2 Detailed parameters of the model of the GP 125 two-strokeengine.

Figure B.2: Gas flow diagram for the GP 125 engine.

Table B.10: Port systems of the GP 125 engine.

characteristic Exhaust Transfer

1 2 3

Name EXHAUST TRANSFERSType DimensionedCount 1 2 2 1

Open (mm) 28.4 41.8 42.8 43.3Height (mm) 26.6 13.2 12.2 11.7Width (mm) 51.0 26.5 20.5

Open Flat Radius (mm) ∞ ∞ ∞ ∞

Open Fillet Radius (mm) 7.0 3.0 3.0 1.0Open Fillet Distance (mm) 21.5

Full Flat Radius (mm) ∞ ∞ ∞ ∞

Full Fillet Radius (mm) 19.0 3.0 1.0 1.0Full Fillet Distance (mm) 21.5

Entrance Angle (◦) 80 66 74 30Boundary type Plain Plain

Area Ratio 1 1Inflow Multiplier 1 1

Outflow Multiplier 1 1Forces Continuity false false

132

Table B.11: Burn characteristics of the GP 125 engine.

Speed ignition burn Wiebe Wiebe( rpm) delay duration A M

9000 11.7 37.8 4.85 0.909500 10.3 36.4 4.95 0.8010000 6.9 39.8 4.5 0.7010500 8.4 38.3 4.3 0.6511000 7.8 31.8 3.95 0.8011500 11.4 27.8 3.7 0.9012000 6.4 38.5 4.55 0.9012500 8.5 42.3 4.3 0.8513000 8.7 51.2 3.95 0.90

Table B.12: Coefficients of discharge for the slide throttle (inflow).

Pressure Area Ratio

Ratio 0 0.2 0.4 0.6 0.8 1.0

1.0 0.771 0.750 0.714 0.671 0.708 0.7401.2 0.786 0.768 0.783 0.825 0.938 0.9471.4 0.827 0.826 0.870 0.958 0.993 1.0031.6 0.868 0.893 0.932 0.984 1.008 1.0131.8 0.902 0.932 0.971 0.981 1.001 1.0012.0 0.939 0.977 0.991 0.991 0.991 0.991

Table B.13: Coefficients of discharge for the slide throttle (outflow).

Pressure Area Ratio

Ratio 0 0.2 0.4 0.6 0.8 1.0

1.0 0.771 0.750 0.714 0.671 0.708 0.7401.2 0.786 0.768 0.783 0.825 0.938 0.9471.4 0.827 0.826 0.870 0.958 0.993 1.0031.6 0.868 0.893 0.932 0.984 1.008 1.0131.8 0.902 0.932 0.971 0.981 1.001 1.0012.0 0.939 0.977 0.991 0.991 0.991 0.991

133

Table B.14: Coefficients of discharge for the GP 125 engine side transfer ports(inflow).

Pressure Area Ratio

Ratio 0 0.2 0.4 0.6 0.8 1.0

1.0 0.934 0.866 0.704 0.656 0.629 0.5681.2 0.937 0.879 0.731 0.683 0.662 0.5961.4 0.950 0.898 0.772 0.755 0.726 0.6641.6 0.969 0.936 0.840 0.809 0.805 0.7191.8 0.989 0.972 0.883 0.848 0.847 0.7592.0 0.985 0.982 0.905 0.864 0.833 0.788

Table B.15: Coefficients of discharge for the GP 125 engine side transfer ports(outflow).

Pressure Area Ratio

Ratio 0 0.2 0.4 0.6 0.8 1.0

1.0 0.806 0.784 0.751 0.752 0.751 0.6921.2 0.826 0.807 0.759 0.763 0.766 0.7091.4 0.857 0.820 0.792 0.778 0.788 0.7511.6 0.893 0.854 0.813 0.809 0.816 0.7781.8 0.925 0.893 0.853 0.845 0.847 0.8202.0 0.962 0.934 0.889 0.883 0.872 0.866

Table B.16: Coefficients of discharge for the GP 125 engine boost transfer port(inflow).

Pressure Area Ratio

Ratio 0 0.2 0.4 0.6 0.8 1.0

1.0 0.798 0.790 0.799 0.825 0.786 0.6971.2 0.814 0.814 0.828 0.853 0.786 0.7171.4 0.849 0.849 0.868 0.901 0.852 0.7761.6 0.866 0.889 0.907 0.958 0.903 0.8081.8 0.912 0.942 0.965 0.976 0.909 0.8152.0 0.976 0.976 0.986 0.986 0.929 0.833

Table B.17: Coefficients of discharge for the GP 125 engine boost transfer port(outflow).

Pressure Area Ratio

Ratio 0 0.2 0.4 0.6 0.8 1.0

1.0 0.860 0.843 0.839 0.839 0.857 0.7911.2 0.879 0.862 0.858 0.884 0.900 0.8091.4 0.896 0.887 0.896 0.934 0.921 0.8171.6 0.901 0.901 0.937 0.983 0.955 0.8281.8 0.923 0.923 0.968 1.014 0.976 0.8342.0 0.942 0.965 0.985 1.003 0.983 0.859

134

Table B.18: Coefficients of discharge for the GP 125 engine exhaust port (inflow).

Pressure Area Ratio

Ratio 0 0.2 0.4 0.6 0.8 1.0

1.0 0.942 0.758 0.625 0.556 0.538 0.5481.2 0.933 0.781 0.680 0.623 0.601 0.5901.4 0.948 0.835 0.761 0.729 0.719 0.6791.6 0.988 0.887 0.826 0.789 0.793 0.8171.8 0.993 0.918 0.874 0.838 0.867 0.8712.0 0.993 0.953 0.902 0.903 0.903 0.890

Table B.19: Coefficients of discharge for the GP 125 engine exhaust port (outflow).

Pressure Area Ratio

Ratio 0 0.2 0.4 0.6 0.8 1.0

1.0 0.923 0.847 0.750 0.699 0.687 0.7061.2 0.955 0.843 0.751 0.712 0.718 0.6971.4 0.972 0.864 0.768 0.743 0.761 0.7741.6 0.982 0.900 0.796 0.776 0.843 0.8261.8 0.993 0.920 0.831 0.818 0.860 0.8512.0 0.990 0.960 0.865 0.861 0.869 0.868

One-dimensional parameters of the GP 125 engine model can befound on the compact

disc inside the back cover.

135

B.3 Detailed parameters of the models of the GP 500 two-strokeengines.

BSHC

Figure B.3: Gas flow diagram for the GP 500 two-stroke engines.

All coefficients of discharge, closed cycle burn characteristics, cylinder geometry, and

pipe systems except the intake were identical to those of theGP 125 engine model.

The Big Bang engine fired all four cylinders simultaneously while the Even Fire engine

fired cylinders 2 and 3 180◦ apart from cylinders 1 and 4. One-dimensional parameters

of the GP 500 engine models can be found on the compact disc inside the back cover.

136

B.4 Detailed parameters of the model of the36 cm3 two-strokeengine.

Figure B.4: Gas flow diagram for the 36 cm3 engine.

Table B.20: Port systems of the 36 cm3 engine.

characteristic Intake Transfer Exhaust

Name IN PORT TR PORT EX PORTType DimensionedCount 1 2 1

Open (mm) 44.0 26.8 22.5Height (mm) 9.0 5.2 9.0Width (mm) 19.0 20.0 19.0

Open Flat Radius (mm) 35.0 ∞ 45.0Open Fillet Radius (mm) 3.0 0.0 4.0

Full Flat Radius (mm) 14.0 ∞ 45.0Full Fillet Radius (mm) 3.0 0.0 4.0

Entrance Angle (◦) 90 90 90Boundary type plain plain plain

Area Ratio 1 1 1Inflow Multiplier 1 1 1

Outflow Multiplier 1 1 1Forces Continuity false false false

Coefficients of discharge for the intake port were assumed to be equal to 1 for all

pressure ratios and area ratios.

One-dimensional parameters of the 36 cm3 engine model can be found on the compact

disc inside the back cover.

137

Table B.21: Coefficients of discharge for the 36 cm3 engine transfer ports (inflow).

Pressure Area Ratio

Ratio 0 0.2 0.4 0.6 0.8 1.0

1.0 0.934 0.866 0.704 0.656 0.629 0.5681.2 0.937 0.879 0.731 0.683 0.662 0.5961.4 0.950 0.898 0.772 0.755 0.726 0.6641.6 0.969 0.936 0.840 0.809 0.805 0.7191.8 0.989 0.972 0.883 0.848 0.847 0.7592.0 0.985 0.982 0.905 0.864 0.833 0.788

Table B.22: Coefficients of discharge for the 36 cm3 engine transfer ports (outflow).

Pressure Area Ratio

Ratio 0 0.2 0.4 0.6 0.8 1.0

1.0 0.806 0.784 0.751 0.752 0.751 0.6921.2 0.826 0.807 0.759 0.763 0.766 0.7091.4 0.857 0.820 0.792 0.778 0.788 0.7511.6 0.893 0.854 0.813 0.809 0.816 0.7781.8 0.925 0.893 0.853 0.845 0.847 0.8202.0 0.962 0.934 0.889 0.883 0.872 0.866

Table B.23: Coefficients of discharge for the 36 cm3 engine exhaust port (inflow).

Pressure Area Ratio

Ratio 0 0.2 0.4 0.6 0.8 1.0

1.0 0.942 0.758 0.625 0.556 0.538 0.5481.2 0.933 0.781 0.680 0.623 0.601 0.5901.4 0.948 0.835 0.761 0.729 0.719 0.6791.6 0.988 0.887 0.826 0.789 0.793 0.8171.8 0.993 0.918 0.874 0.838 0.867 0.8712.0 0.993 0.953 0.902 0.903 0.903 0.890

Table B.24: Coefficients of discharge for the 36 cm3 engine exhaust port (outflow).

Pressure Area Ratio

Ratio 0 0.2 0.4 0.6 0.8 1.0

1.0 0.923 0.847 0.750 0.699 0.687 0.7061.2 0.955 0.843 0.751 0.712 0.718 0.6971.4 0.972 0.864 0.768 0.743 0.761 0.7741.6 0.982 0.900 0.796 0.776 0.843 0.8261.8 0.993 0.920 0.831 0.818 0.860 0.8512.0 0.990 0.960 0.865 0.861 0.869 0.868

138

B.5 Detailed parameters of the model of the marine outboardtwo-stroke engine.

Figure B.5: Gas flow diagram for the marine outboard engine.

Table B.25: Port systems of the marine outboard engine.

characteristic Transfer Exhaust

Name TR EXType DimensionedCount 1 1

Open (mm) 55.3 43.1Height (mm) 13.2 25.4Width (mm) 80.0 49.0

Open Flat Radius (mm) ∞ 88.9Open Fillet Radius (mm) 5.0 6.3

Full Flat Radius (mm) ∞ 88.9Full Fillet Radius (mm) 5.0 6.3

Entrance Angle (◦) 90 80Boundary type plain plain

Area Ratio 1 1Inflow Multiplier 1 1

Outflow Multiplier 1 1Forces Continuity true true

Coefficients of discharge for the transfer ports and exhaust portswere assumed to be

equal to 1 across all pressure ratios and area ratios.

One-dimensional parameters of the marine outboard engine model can be found on the

compact disc inside the back cover.

139

Table B.26: Coefficients of discharge for the slide throttle (inflow).

Pressure Area Ratio

Ratio 0 0.2 0.4 0.6 0.8 1.0

1.0 0.771 0.750 0.714 0.671 0.708 0.7401.2 0.786 0.768 0.783 0.825 0.938 0.9471.4 0.827 0.826 0.870 0.958 0.993 1.0031.6 0.868 0.893 0.932 0.984 1.008 1.0131.8 0.902 0.932 0.971 0.981 1.001 1.0012.0 0.939 0.977 0.991 0.991 0.991 0.991

Table B.27: Coefficients of discharge for the slide throttle (outflow).

Pressure Area Ratio

Ratio 0 0.2 0.4 0.6 0.8 1.0

1.0 0.771 0.750 0.714 0.671 0.708 0.7401.2 0.786 0.768 0.783 0.825 0.938 0.9471.4 0.827 0.826 0.870 0.958 0.993 1.0031.6 0.868 0.893 0.932 0.984 1.008 1.0131.8 0.902 0.932 0.971 0.981 1.001 1.0012.0 0.939 0.977 0.991 0.991 0.991 0.991

140

B.6 Detailed parameters of the model of the Yamaha YZ400Ffour-stroke engine.

Figure B.6: Gas flow diagram for the Yamaha YZ400F engine.

Table B.28: Poppet valve systems of the Yamaha YZ400F engine.

characteristic Intake Exhaust

Name INV1 EXV1Type DimensionedCount 3 2Open 30.0◦ BTDC 68.0◦ BBDCClose 66.0◦ ABDC 36.0◦ ATDC

Max lift (mm) 8.8 8.2Ramp up period (◦) 20 20

Ramp up ratio 0.10 0.10Ramp down period (◦) 20 20

Ramp down ratio 0.10 0.10Stem diameter (mm) 4.5 5.0

Manifold diameter (mm) 38.5 37.0Port diameter (mm) 22.5 24.0

Inner seat diameter (mm) 23.0 24.5Outer seat diameter (mm) 24.8 27.3

Seat angle (◦) 45 45Forces Continuity false false

One-dimensional parameters of the YZ400F engine model can be found on the com-

pact disc inside the back cover.

141

Table B.29: Burn characteristics of the Yamaha YZ400F engine.

Speed ignition burn Wiebe Wiebe( rpm) delay duration A M

5000 24.0 70.0 5.30 1.145500 24.0 70.0 5.30 1.146000 24.0 70.0 5.30 1.146500 24.0 70.0 5.30 1.147000 24.0 70.0 5.30 1.147500 24.0 70.0 5.30 1.148000 24.0 70.0 5.30 1.148500 23.7 70.6 5.30 1.239000 23.4 71.2 6.03 1.329500 17.1 75.1 6.76 1.8210000 10.8 79.0 7.04 2.3310500 10.4 85.0 6.79 2.3111000 10.0 91.1 6.25 2.30

Table B.30: Coefficients of discharge for the Yamaha YZ400F engine intake valves (inflow).

Pressure Area Ratio

Ratio 0 0.2 0.4 0.6 0.8 1.0

1.0 0.873 0.892 0.693 0.516 0.420 0.4521.2 0.882 0.909 0.751 0.561 0.468 0.4931.4 0.895 0.930 0.810 0.633 0.534 0.5731.6 0.906 0.947 0.846 0.685 0.593 0.6341.8 0.914 0.948 0.849 0.725 0.634 0.6702.0 0.905 0.939 0.849 0.740 0.675 0.690

Table B.31: Coefficients of discharge for the Yamaha YZ400F engine intake valves (outflow).

Pressure Area Ratio

Ratio 0 0.2 0.4 0.6 0.8 1.0

1.0 0.933 0.912 0.844 0.729 0.651 0.7271.2 0.933 0.970 0.887 0.722 0.656 0.7291.4 0.931 0.951 0.868 0.714 0.653 0.7241.6 0.912 0.937 0.856 0.716 0.655 0.7211.8 0.904 0.915 0.824 0.710 0.663 0.7232.0 0.886 0.888 0.799 0.718 0.675 0.726

142

Table B.32: Coefficients of discharge for the Yamaha YZ400F engine exhaust valves (inflow).

Pressure Area Ratio

Ratio 0 0.2 0.4 0.6 0.8 1.0

1.0 0.936 0.920 0.782 0.645 0.536 0.5751.2 0.936 0.920 0.814 0.681 0.579 0.6191.4 0.933 0.934 0.855 0.752 0.639 0.6861.6 0.938 0.943 0.880 0.785 0.691 0.7341.8 0.932 0.951 0.901 0.784 0.710 0.7422.0 0.932 0.938 0.881 0.784 0.724 0.754

Table B.33: Coefficients of discharge for the Yamaha YZ400F engine exhaust valves (outflow).

Pressure Area Ratio

Ratio 0 0.2 0.4 0.6 0.8 1.0

1.0 0.971 0.966 0.912 0.808 0.703 0.7731.2 0.971 0.977 0.937 0.811 0.694 0.7741.4 0.970 0.967 0.920 0.804 0.695 0.7681.6 0.959 0.953 0.916 0.807 0.698 0.7781.8 0.943 0.952 0.916 0.792 0.696 0.7752.0 0.943 0.933 0.907 0.779 0.703 0.770

C. DESIGN OF THE FLUID DAMPER

The drivetrain designed for the modified YZ250 engine was intentionally designed

with a minimum of damping in the system. The reason for this was that all of the

usual devices for damping, for example polymer couplings, exhibited an unknown

damping characteristic, or worse, a characteristic that changed with temperature or

vibration frequency. Some damping was needed, however, because an undamped reso-

nance condition can create very high torques that could damage the measuring devices.

Therefore, a device that supplied a rotational damping torque, but that could be easily

characterised, was desired.

A fluid damper fit that description. Figure C.1 shows a schematic. A seismic mass was

enclosed in a housing with a viscous fluid filling the clearance volume. The housing

was fixed to a rotating shaft using a wedge clamping device. Asthe housing accel-

erated, the seismic mass lagged, a shear force was developedin the fluid, and kinetic

energy was converted to heat via the viscous forces. As a bonus, a device of this type

creates no accompanying spring force, so only the damping needed to be characterised.

Seismic Mass

Housing

Figure C.1: Cutaway view of the fluid damper assembly.

The following discussion will develop the equations used tocharacterise a fluid damper

like the one used in this study. Figure C.2 shows a cross section of the device.

143

144

Seismic Mass

Viscous Fluid

Housing

hlat

ro

r i

hperl

Figure C.2: Simplified cross-section of the fluid damper. Dimensionshper andhlat are exagger-ated.

First, examine the damping arising from the shear on the peripheral surfaces.

Assumehper << ro. That allows

r ≈ ro,

wherer is the characteristic radius relating the angular velocityto the surface shear

rate byU = ωr. Assuming simple shear flow of a Newtonian fluid between the two

peripheral surfaces,

σ =µUhper,

whereσ is the shear stress,µ is the absolute viscosity of the fluid, andU is the shear

rate. The area,A, over which this stress acts is

A = 2πrol.

145

The force,F, on this area is then

F = σA =2µUπrol

hper.

The torque,τ, due to this peripheral force is

τper = Fr =2πµUro

2lhper

.

Substitutingωr for U,

τper =2πµωro

3lhper

.

Finally, the coefficient of peripheral damping is

(

τ

ω

)

peripheral= cper =

2πµro3l

hper. (C.1)

Next, let us derive an equation for damping due to shear stress on the lateral faces.

Again, start with the shear stress relationship for a Newtonian fluid. The force is,

again,

F = σA =µUAhlat,

and the torque

τlat =µUAr

hlat.

This time, however, notice thatr varies over the relevant area, and therefore can not

be considered a constant as before. However, we can instead take the area to be the

infinitesimally small annulus sector

A = dr dθ.

Torque on the areadr dθ is then

τ =µUAr

hdr dθ.

146

Torque on the whole lateral face becomes

τlat =

∫ ro

r i

∫ 2π

0

µUrh

dθ dr.

Substitutingωr for U,

τlat =

∫ ro

r i

∫ 2π

0

µωr2

hdθ dr,

resolving the definite integral inθ,

τlat =

∫ ro

r i

2πµωr2

hdr

and, finally, resolving the definite integral inr and solving forτ/ω, gives us the tor-

sional damping characteristic per face,

(

τ

ω

)

lateral= clat =

2πµ3h

(

ro3 − r i

3)

. (C.2)

Remembering that there are two lateral faces, the total damping characteristic arising

from both lateral faces and the peripheral face is, finally,

ctotal = 2clat + cper

=4πµ3h

(

ro3 − r i

3)

+2πµro

3lh. (C.3)

Next, the damping ratio is (Wilson 1963)

ζ =c

2Jω. (C.4)

Table C.1 lists the properties of the damper used in this study. Using Equation C.3, we

can see that the device generated a damping coefficient of 0.40 Nm s/rad. The damper

was positioned at a station that resonated atω = 262 rad/s. Using Equation C.4, this

yielded a damping ratio of 0.26 , as quoted in Chapter 2.

147

Table C.1: Properties of the fluid damper.

characteristic value

r i 29 mmro 70 mml 10 mmJ 0.0030 kg m2

hper 0.3 mmhlat 0.3 mmµ 2.00× 10−4 m2/s

D. M-FILES

% script drivetrain.m%% Executes Simulink drivetrain model.% Takes as input PreCrankAngle and PrePressure from VirtualEngines% Outputs crank angle versus time, given an engine geometry% and drivetrain.% Angle is in degrees ABDC, time is in seconds.% Only outputs 360 deg worth of data because it only simulates% one revolution anyway.% 10

% Example usage:% drivetrain%% This funtion is for simulating one cylce as part of the% successive substitution method.% It executes the drivetrain360 BDC Simulink model, which lets% the engine rotate one revolution only.% It assumes engineposition, enginespeed, flywheelposition,% flywheelspeed initial conditions, as calculated by drivetrain ic.m% 20

% This script is called by a core subroutine in the Fortran code of% Virtual Engiens, not the VEMS (Virtual Engines-Matlab/Simulink) link.

% Written 9/8/2000% by Brian Callahan% Last modified 20/11/2000

net press=[PreCrankAngle’,PrePressure’]; %DMA method, also transposes

clear omega omega1 theta theta1% clear output arrays to avoid 30

% residue data in new outputangle 0=angle; % used for convergence criterion calctime 0=time;

if (nextcycle) % if we’ve moved to the next cycle, allowenginespeed=finalenginespeed; %the drivetrain to advance to theengineposition=finalengineposition; %next cycle. Otherwise,flywheelspeed=finalflywheelspeed; % re-simulate current cycleflywheelposition=finalflywheelposition; % with the new

% Press(crank angle) data 40

iteration=0; % reset iteration countenditeration=iteration+1; % advance iteration counter

sim(’drivetrain˙simple˙360’);

plot(angle/360,omega60/2/pi); %output plot

148

149

repeated=find(diff (angle)==0); %remove repeated abscissa valuestheta(repeated)=[ ]; %(can happen when reaching the limit 50

omega(repeated)=[ ]; %of numerical precision)theta1(repeated)=[ ];omega1(repeated)=[ ];time(repeated)=[ ];angle(repeated)=[ ];

lastangle=fix(angle(end)/360)360; %exactly BDCaxis([(lastangle−360)/360 lastangle/360 enginerpm−500 enginerpm+500]);text (lastangle/360−0.2,enginerpm−350,num2str(iteration));

60

lasttime=spline(angle,time,lastangle); %exact time at BDCfinalengineposition=lastangle/180pi; %exactly BDCfinalenginespeed=spline(angle,omega,lastangle); %exact omega at BDCfinalflywheelposition=spline(angle,. . .

theta1,lastangle); %exact flywheel position at engine BDCfinalflywheelspeed=spline(angle,omega1,. . .

lastangle); %exact flywheel speed at BDC

time=spline(angle,time,lastangle−360:1:lastangle)’;% note: do not change this spacing, because the MSE routine 70

% depends on it.speed=spline(angle,omega,lastangle−360:1:lastangle)’;time=time−time(1); %shift back to time(1)=0angle=(0:1:360)’; %angle array is simply 0 to 360 at 1 degree steps

convergence=mse(angle,time,angle 0,time 0,1); % convergence criteriontext(lastangle/360−0.2,enginerpm−300,. . .

strcat(num2str(convergence1e6,’%6.3f’),’e-6’),. . .’HorizontalAlignment’,’right’);

text(lastangle/360−0.2,enginerpm−400,num2str(bmep/100000,’%3.5f’),. . . 80

’HorizontalAlignment’,’right’);

% END OF SCRIPT drivetrain.m

150

% script drivetrain IC 7mass.m%% This script initializes the Matlab/Simulink workspace,% to include the initial conditions of the drivetrain state variables.

% written 9/8/2000% by Brian Callahan% last modified 28/11/2001scrpt = ’drivetrain˙IC˙7mass’;net press=[PreCrankAngle’,PrePressure’]; %DMA method, also transposes 10

% row arrays into columnstheta=zeros(8,1);% start engine, shaft, and inertia wheel% at nominal positionsomega=ones(8,1)enginerpm2pi/60;% start all inertias at nominal speed% note: omegaseismic=omega(8)clear omega0 omega1 omega2 omega3 omega4 omega5 omega6 omegasclear theta0 theta1 theta2 theta3 theta4 theta5 theta6

% clear output arrays 20

% so that old data is not prepended% to new output

sim(’drivetrain˙ic˙7mass˙model˙thesis’); % execute Simulink model

angle torque=angle; % angle for HBM torque output for validationtime torque=time; % time for torque amplitude gain validation

% END OF SCRIPT drivetrainIC 5mass.m

151

% Script sweepsimulated.m%% Lets Simulink model run for 20 sec,% to simulate sweep test. Then calls routines% to decompose motion response into sinusoids for% frequency domain analysis.sprintf (’start rpm = %d’,enginerpm)disp(’running drivetrain model’);drivetrain IC 7mass;disp(sprintf (’number of revs= %f’,angle(end)/360)); 10

disp(’synchronizing to BDC at end of data’);lastangle=fix(angle(end)/360)360;lasttime=spline(angle,time,lastangle);disp(’calculating points at each degree’);time clip=spline(angle,time,0:1:lastangle);omega0clip=spline(angle,omega0,0:1:lastangle);% Tgasp clip=spline(angle,Tgasp,0:1:lastangle);Ttotal numerical clip=spline(angle,Ttotal numerical,0:1:lastangle);% Thbmclip=spline(angle,torque1,0:1:lastangle);disp(’calculating harmonics for omega0’); 20

pred numerical.w=fourier decompc(time clip,omega0clip,1000,1);disp(sprintf (’“n%s’,’calculating harmonics for Ttotal’));pred numerical.T=fourier decompc(time clip,Ttotal numerical clip,1000,1);disp(sprintf (’“n%s’,’Calculating mean engine speed at each revolution’));pred numerical.rpm=60./diff (time clip(1:360:end));pred numerical.rpm=pred numerical.rpm(1:999);disp(’done’);

152

% Script freemass3cyl 2stroke.m% This feeds a free-mass response to the VEMS link.% Instantaneous torque is (Pcyl - Pcase) acting% on piston area A, through crank-slider mechanism according to% Lct, Lcr, pin offset, and instantaneous crank angle.% Thermodynamic cycle is two-stroke.% Configured for a three-cylinder, evenly firing engine.

if (not(Initialized)) %finish initialization now that%initial SensorValue matrix is valid 10

TargetRpm=SensorValue(11); %VE rpmIndex=find(resistBase(:,1)==TargetRpm) %lookup index for various

% rpm-related variablesRpmAvg=TargetRpm;omega=TargetRpm2pi/60; %initial flywheel speedomega=omega+resistBaseOffset(Index,2)2pi/60;

% omega=omega1.02; % speed it up initially, because we start at EPO,% which is a fast part of the cycle

degree=SensorValue(8); %VE initial engine degreeTResist(1)=resistBase(Index,2); % initial guess= base resistance at target rpm 20

Initialized=1; %ok, NOW it’s fully initializedend

aCount = aCount + 1; % Elapsed Timesteps, totalProgLine=23;SimAngle(aCount) = SensorValue(8); % VE Crank AngletheCycleNumber= SensorValue(9); % VE cycle number

if theCycleNumber> CurrentCycleCurrentCycle= theCycleNumber; % Ensuring this only executes once per cycle 30

CyclePlotFlag= 1; % Only plot PV diagram once per cycle

aCycleCount(CurrentCycle) = 1; % Reset for next cycleelse

aCycleCount(CurrentCycle) = aCycleCount(CurrentCycle) + 1;% Increment in-cycle step counter

endProgLine=36;if CyclePlotFlag == 1

a=(diff (CycleDegree(CurrentCycle−1,1:aCycleCount(CurrentCycle−1)))); 40

a(find(a<0))=a(find(a<0))+360; % fix wraparoundTorqueAvg(CurrentCycle)=. . .

sum(CycleTorque(CurrentCycle−1,1:aCycleCount(CurrentCycle−1)−1).a)/360;TorqueGasAvg(CurrentCycle)=. . .

sum(CycleTorqueGas(CurrentCycle−1,1:aCycleCount(CurrentCycle−1)−1).a)/360;RpmAvg(CurrentCycle)=. . .

mean(CycleRpm(CurrentCycle−1,1:aCycleCount(CurrentCycle−1)));%note: strictly, these must be evenly spaced across angle before taking the mean

RpmError(CurrentCycle)=RpmAvg(CurrentCycle)−TargetRpm; 50

RpmErrorDif (CurrentCycle)=. . .diff ([CycleRpm(CurrentCycle−1,1). . .

CycleRpm(CurrentCycle−1,aCycleCount(CurrentCycle−1))]);

153

% base resistance+ load proportionally increasing with rpm error% resistP is torque/engine speed error (Nm/rpm)TEngine(CurrentCycle)=TorqueAvg(CurrentCycle)+TResist(CurrentCycle−1);

TResist(CurrentCycle)=TEngine(CurrentCycle)+. . .(JRpmError(CurrentCycle)2pi/60/60RpmAvg(CurrentCycle))resistP(Index,2); 60

if CurrentCycle > 10RpmErrorInt(CurrentCycle)=sum(RpmError(10:CurrentCycle));TResist(CurrentCycle)=TResist(CurrentCycle)+. . .

RpmErrorInt(CurrentCycle)resistI(Index,2);endif CurrentCycle >= 2

TResist(CurrentCycle)=TResist(CurrentCycle)+. . .RpmErrorDif (CurrentCycle)resistD(Index,2);

end70

endProgLine=63;Pcyl=SensorValue(1:3); %VE cylinder pressuresPcase=SensorValue(4:6); %VE case pressuresdelta t=SensorValue(7); %VE time stepdegreePrev=degree(1);degree(1)=SensorValue(8); %VE engine degree for Cyl 1degree(2)=degree(1)+120; %other cylinders are offsetdegree(3)=degree(1)+240;delta theta=(degree(1)−degreePrev)pi/180; % change in crank angle, [rad] 80

VECycleTime(CurrentCycle,aCycleCount)=time; % VE elapsed timeProgLine=75;CylTorque=Tgas(Pcyl−Pcase,degree+180,stroke,pistonarea,stroke/2,Lcr);torque=sum(CylTorque); %add all 3 cylindersCycleTorqueGas(CurrentCycle,aCycleCount(CurrentCycle)) = torque;torque=torque−TResist(CurrentCycle);% note: Lcr is not equal to stroke/2% double check Tgas equation for pin offset

if CurrentCycle<5 90

omega=TargetRpm2pi/60; %force to Target Rpm for debugomega=omega+resistBaseOffset(Index,2)2pi/60;alpha=0;TResist(CurrentCycle)=resistBase(Index,2); %force TResist back to base resistance

elsealpha=torque/J; % instantaneous angular accelerationomega=omega+alphadeltat; % new instantaneous velocity

end

%debug 100

%omega=TargetRpm2pi/60; %force to Target Rpm for debug%omega=50002pi/60; %force to 5000 rpm for debugCycleRpm(CurrentCycle,aCycleCount(CurrentCycle)) = omega/2/pi60;

theActuatorValue(1)=CycleRpm(CurrentCycle,aCycleCount(CurrentCycle)); %update VE rpm% Saving sensor data for plotting

CylPressure(aCount,:) = Pcyl/100000; % Cylinder pressure at current timestep, [bar]

154

CasePressure(aCount,:) = Pcase/100000; % Case pressure at current timestep, [bar]CylDegree(aCount) = degree(1); % Crank angle at the current timestep, [deg] 110

ProgLine=100;CycleTorque(CurrentCycle,aCycleCount(CurrentCycle)) = torque;VECycleBrakeTorque(CurrentCycle,aCycleCount(CurrentCycle)) = SensorValue(12);CyclePressure(CurrentCycle,aCycleCount(CurrentCycle),:) = Pcyl;CycleDegree(CurrentCycle,aCycleCount(CurrentCycle)) = CylDegree(aCount);%CycleRpm(CurrentCycle,aCycleCount(CurrentCycle))= omega/2/pi60;CycleAlpha(CurrentCycle,aCycleCount(CurrentCycle)) = alpha;CycleTime(CurrentCycle,aCycleCount(CurrentCycle)) = time; %calculated timeVECycleDeltaTheta(CurrentCycle,aCycleCount(CurrentCycle)) = delta theta; %VE dThetaCycleDeltaTime(CurrentCycle,aCycleCount(CurrentCycle))=. . . 120

delta theta/omega; % calculated dTime

% Plot continuous dataaPlotCount= aPlotCount+ 1;if aPlotCount >= 200

aPlotCount= 0% plotting cylinder pressure

subplot(3,2,1);plot(SimAngle,CylPressure(:,1),’.b’,’MarkerSize’,1);xlim([0 360]); 130

set(gca,’XTick’,0:90:360);set(gca,’XTickLabel’,{0,90,’BDC’,270,360});xlabel(’Crank Angle (deg)’);ylabel(’Cyl Pressure (bar)’);grid on;

end

% Plot cycle data: torque Diagram

if CyclePlotFlag == 1 & CurrentCycle> 1 140

VEBrakeTq(CurrentCycle)=SensorValue(12); % VE cycle-average brake torque

subplot(3,2,2);plot(CycleDegree(CurrentCycle−1,1:aCycleCount(CurrentCycle−1)),. . .

CycleTorque(CurrentCycle−1,1:aCycleCount(CurrentCycle−1)),’.b’,’MarkerSize’,1);axis([0 360 −150 300]);set(gca,’XTick’,0:90:360);set(gca,’XTickLabel’,{0,90,’BDC’,270,360});xlabel(’Crank Angle (deg)’);ylabel(’Torque (Nm)’); 150

grid on;

subplot(3,2,3);plot(CycleDegree(CurrentCycle−1,1:aCycleCount(CurrentCycle−1)),. . .

CycleRpm(CurrentCycle−1,1:aCycleCount(CurrentCycle−1)),’.b’,’MarkerSize’,1);axis([0 360 TargetRpm.92 TargetRpm1.08]);set(gca,’XTick’,0:90:360);set(gca,’XTickLabel’,{0,90,’BDC’,270,360});xlabel(’Crank Angle (deg)’);ylabel(’rpm’); 160

grid on;

subplot(3,2,4);

155

plot(1:length(TResist),TResist,’o’,. . .% static resistance1:length(TEngine),TEngine,’x’); % engine indicated torque

xlim([0 50]);ylim([resistBase(Index,2)−5 resistBase(Index,2)+5]);grid on;

subplot(3,2,5); 170

plot(1:length(RpmError),RpmError,’-o’); % rpm error versus cycle numberylabel(’rpm error’);xlim([0 50]);ylim([−20 20])

subplot(3,2,6);plot(1:length(RpmErrorInt),RpmErrorInt,’x’); % error integral vs cycle numberylabel(’int(rpm error)’);xlim([0 50]);

180

CyclePlotFlag= 0; % Reset Plotend

% end of File

156

% Script freemass4cyl 2strokebig bang.m% This feeds a free-mass response to the VEMS link.% Instantaneous torque is (Pcyl - Pcase) acting% on piston area A, through crank-slider mechanism according to% Lct, Lcr, pin offset, and instantaneous crank angle.%Pinout% Pin Variable% 1 PCyl(1)% 2 PCyl(2)% 3 PCyl(3) 10

% 4 PCyl(4)% 5 PCase(1)% 6 PCase(2)% 7 PCase(3)% 8 PCase(4)% 9 delta t% 10 degree% 11 CurrentCycle% 12 time% 13 TargetRpm 20

% 14 VEBrakeTq%% This routine is configured for a four-cylinder engine% firing all cylinders simultaneously.% Thermodynamic cycle is two-stroke.

if (not(Initialized)) %finish initialization now that%initial SensorValue matrix is valid

TargetRpm=SensorValue(13); %VE rpmIndex=find(resistBase(:,1)==TargetRpm) %lookup index for various 30

% rpm-related variablesomega=TargetRpm2pi/60; %initial flywheel speedomega=omega1.02; % speed it up initially, because we start at EPO,

% which is a fast part of the cycledegree=SensorValue(10); %VE initial engine degreeTResist(1)=resistBase(Index,2); % initial guess= base resistance at target rpmInitialized=1; %ok, NOW it’s fully initialized

end

aCount = aCount + 1; % Elapsed Timesteps, total 40

SimAngle(aCount) = SensorValue(10); % VE Crank AngletheCycleNumber= SensorValue(11); % VE cycle number

if theCycleNumber> CurrentCycleCurrentCycle= theCycleNumber; % Ensuring this only executes once per cycleCyclePlotFlag= 1; % Only plot PV diagram once per cycle

aCycleCount(CurrentCycle) = 1; % Reset for next cycleelse

aCycleCount(CurrentCycle) = aCycleCount(CurrentCycle) + 1; 50

% Increment in-cycle step counterendif CyclePlotFlag == 1

157

TorqueAvg(CurrentCycle)=. . .mean(CycleTorque(CurrentCycle−1,1:aCycleCount(CurrentCycle−1)));

%note: strictly, this must be evenly spaced across angle before taking the meanRpmAvg(CurrentCycle)=. . .

mean(CycleRpm(CurrentCycle−1,1:aCycleCount(CurrentCycle−1)));%note: strictly, this must be evenly spaced across angle before taking the mean

RpmError(CurrentCycle)=RpmAvg(CurrentCycle)−TargetRpm; 60

RpmErrorDif (CurrentCycle)=diff (RpmError(CurrentCycle−1:CurrentCycle));

TResist(CurrentCycle)=TorqueAvg(CurrentCycle)+TResist(CurrentCycle−1)+. . .(JRpmError(CurrentCycle)2pi/60/60RpmAvg(CurrentCycle)). . .resistP(Index,2)+. . .RpmErrorDif (CurrentCycle)resistD(Index,2);

if CurrentCycle > 5RpmErrorInt(CurrentCycle)=sum(RpmError(5:CurrentCycle));TResist(CurrentCycle)=TResist(CurrentCycle)+. . .

RpmErrorInt(CurrentCycle)resistI(Index,2); 70

endif CurrentCycle >= 2

TResist(CurrentCycle)=TResist(CurrentCycle)+. . .RpmErrorDif (CurrentCycle)resistD(Index,2);

end

endPcyl=SensorValue(1:4); %VE cylinder pressuresPcase=SensorValue(5:8); %VE case pressuresdelta t=SensorValue(9); %VE time step 80

degreePrev=degree(1);degree(1)=SensorValue(10); %VE engine degree for Cyl 1degree(2)=degree(1)+0;degree(3)=degree(1)+0;degree(4)=degree(1)+0;delta theta=(degree(1)−degreePrev)pi/180; % change in crank angle, [rad]VECycleTime(CurrentCycle,aCycleCount)=time; % VE elapsed timeCylTgas=Tgas(Pcyl−Pcase,degree+180,stroke,pistonarea,stroke/2,Lcr);CylTirp=Tirp(degree+180,omega,massp,massc,stroke/2,Lcr,rodcg);torque=sum(CylTgas); %add all 4 cylinders 90

torque=torque+sum(CylTirp); % and Tirp for all 4 cylindersCycleTorqueGas(CurrentCycle,aCycleCount(CurrentCycle)) = sum(CylTgas);CycleTorqueIrp(CurrentCycle,aCycleCount(CurrentCycle)) = sum(CylTirp);torque=torque−TResist(CurrentCycle);% note: Lcr is not equal to stroke/2% double check Tgas equation for pin offsetalpha=torque/J; % instantaneous angular accelerationomega=omega+alphadeltat; % new instantaneous velocity%debug%omega=TargetRpm2pi/60; %force to Target Rpm for debug 100

%omega=50002pi/60; %force to 5000 rpm for debugCycleRpm(CurrentCycle,aCycleCount(CurrentCycle)) = omega/2/pi60;

theActuatorValue(1)=CycleRpm(CurrentCycle,aCycleCount(CurrentCycle)); %update VE rpm% Saving sensor data for plotting

CylPressure(aCount,:) = Pcyl/100000; % Cylinder pressure at current timestep, [bar]CasePressure(aCount,:) = Pcase/100000; % Case pressure at current timestep, [bar]

158

CylDegree(aCount) = degree(1); % Crank angle at the current timestep, [deg]CycleTorque(CurrentCycle,aCycleCount(CurrentCycle)) = torque; 110

VECycleBrakeTorque(CurrentCycle,aCycleCount(CurrentCycle)) = SensorValue(14);CyclePressure(CurrentCycle,aCycleCount(CurrentCycle),:) = Pcyl;CycleDegree(CurrentCycle,aCycleCount(CurrentCycle)) = CylDegree(aCount);%CycleRpm(CurrentCycle,aCycleCount(CurrentCycle))= omega/2/pi60;CycleAlpha(CurrentCycle,aCycleCount(CurrentCycle)) = alpha;CycleTime(CurrentCycle,aCycleCount(CurrentCycle)) = time; %calculated timeVECycleDeltaTheta(CurrentCycle,aCycleCount(CurrentCycle)) = delta theta; %VE dThetaCycleDeltaTime(CurrentCycle,aCycleCount(CurrentCycle))=. . .

delta theta/omega; % calculated dTime120

% Plot continuous dataaPlotCount= aPlotCount+ 1;if aPlotCount >= 200

aPlotCount= 0% plotting cylinder pressure

subplot(3,2,1);plot(SimAngle,CylPressure(:,1),’.b’,’MarkerSize’,1);xlim([0 360]);set(gca,’XTick’,0:90:360);set(gca,’XTickLabel’,{0,90,’BDC’,270,360}); 130

xlabel(’Crank Angle (deg)’);ylabel(’Cyl Pressure (bar)’);grid on;

end

% Plot cycle data: torque Diagram

if CyclePlotFlag == 1 & CurrentCycle> 1VEBrakeTq(CurrentCycle)=SensorValue(14); % VE cycle-average brake torque

140

subplot(3,2,2);plot(CycleDegree(CurrentCycle−1,1:aCycleCount(CurrentCycle−1)),. . .

CycleTorque(CurrentCycle−1,1:aCycleCount(CurrentCycle−1)),’.b’,’MarkerSize’,1);axis([0 360 −250 600]);set(gca,’XTick’,0:90:360);set(gca,’XTickLabel’,{0,90,’BDC’,270,360});xlabel(’Crank Angle (deg)’);ylabel(’Torque (Nm)’);grid on;

150

subplot(3,2,3);plot(CycleDegree(CurrentCycle−1,1:aCycleCount(CurrentCycle−1)),. . .

CycleRpm(CurrentCycle−1,1:aCycleCount(CurrentCycle−1)),’.b’,’MarkerSize’,1);axis([0 360 TargetRpm.92 TargetRpm1.08]);set(gca,’XTick’,0:90:360);set(gca,’XTickLabel’,{0,90,’BDC’,270,360});xlabel(’Crank Angle (deg)’);ylabel(’rpm’);grid on;

160

subplot(3,2,4);plot(1:length(TResist),TResist,’o’,. . .

1:length(VEBrakeTq),VEBrakeTq,’x’); % static resistance versus cycle number

159

xlim([0 40]);

subplot(3,2,5);plot(1:length(RpmError),RpmError,’-o’); % rpm error versus cycle numberylabel(’rpm error’);xlim([0 40]);

170

subplot(3,2,6);plot(1:length(RpmErrorInt),RpmErrorInt,’x’); % error integral vs cycle numberylabel(’int(rpm error)’);xlim([0 40]);

results=[CycleDegree(CurrentCycle−1,1:aCycleCount(CurrentCycle−1))’. . .CycleRpm(CurrentCycle−1,1:aCycleCount(CurrentCycle−1))’. . .CycleTorqueGas(CurrentCycle−1,1:aCycleCount(CurrentCycle−1))’. . .CycleTorqueIrp(CurrentCycle−1,1:aCycleCount(CurrentCycle−1))’];

filename=strcat(’big˙bang˙500˙results’,num2str(TargetRpm),. . . 180

’˙’,num2str(J100000),’.txt’);% name will be something like evenfire 500 results9000 89% 9000 is the rpm, 984 means J=98.4 kg cm2save(filename,’results’,’-ascii’);

CyclePlotFlag= 0; % Reset Plotend

% end of File

160

% Script freemass4cyl 2strokeevenfire.m% This feeds a free-mass response to the VEMS link.% Instantaneous torque is (Pcyl - Pcase) acting% on piston area A, through crank-slider mechanism according to% Lct, Lcr, pin offset, and instantaneous crank angle.%Pinout% Pin Variable% 1 PCyl(1)% 2 PCyl(2)% 3 PCyl(3) 10

% 4 PCyl(4)% 5 PCase(1)% 6 PCase(2)% 7 PCase(3)% 8 PCase(4)% 9 delta t% 10 degree% 11 CurrentCycle% 12 time% 13 TargetRpm 20

% 14 VEBrakeTq% This routine is configured for a four-cylinder engine.% Two cylinders fire simultaneously, and the other two% fire 180 degrees from that.% Thermodynamic cycle is two-stroke.

if (not(Initialized)) %finish initialization now that%initial SensorValue matrix is valid

TargetRpm=SensorValue(13); %VE rpmIndex=find(resistBase(:,1)==TargetRpm) %lookup index for various 30

% rpm-related variablesomega=TargetRpm2pi/60; %initial flywheel speedomega=omega1.02; % speed it up initially, because we start at EPO,

% which is a fast part of the cycledegree=SensorValue(10); %VE initial engine degreeTResist(1)=resistBase(Index,2); % initial guess= base resistance at target rpmInitialized=1; %ok, NOW it’s fully initialized

end

aCount = aCount + 1; % Elapsed Timesteps, total 40

SimAngle(aCount) = SensorValue(10); % VE Crank AngletheCycleNumber= SensorValue(11); % VE cycle number

if theCycleNumber> CurrentCycleCurrentCycle= theCycleNumber; % Ensuring this only executes once per cycleCyclePlotFlag= 1; % Only plot PV diagram once per cycle

aCycleCount(CurrentCycle) = 1; % Reset for next cycleelse

aCycleCount(CurrentCycle) = aCycleCount(CurrentCycle) + 1; 50

% Increment in-cycle step counterendif CyclePlotFlag == 1

161

TorqueAvg(CurrentCycle)=. . .mean(CycleTorque(CurrentCycle−1,1:aCycleCount(CurrentCycle−1)));

%note: strictly, this must be evenly spaced across angle before taking the meanRpmAvg(CurrentCycle)=. . .

mean(CycleRpm(CurrentCycle−1,1:aCycleCount(CurrentCycle−1)));%note: strictly, this must be evenly spaced across angle before taking the mean

RpmError(CurrentCycle)=RpmAvg(CurrentCycle)−TargetRpm; 60

RpmErrorDif (CurrentCycle)=diff (RpmError(CurrentCycle−1:CurrentCycle));

TResist(CurrentCycle)=TorqueAvg(CurrentCycle)+TResist(CurrentCycle−1)+. . .(JRpmError(CurrentCycle)2pi/60/60RpmAvg(CurrentCycle)). . .resistP(Index,2)+. . .RpmErrorDif (CurrentCycle)resistD(Index,2);

if CurrentCycle > 5RpmErrorInt(CurrentCycle)=sum(RpmError(5:CurrentCycle));TResist(CurrentCycle)=TResist(CurrentCycle)+. . .

RpmErrorInt(CurrentCycle)resistI(Index,2); 70

endif CurrentCycle >= 2

TResist(CurrentCycle)=TResist(CurrentCycle)+. . .RpmErrorDif (CurrentCycle)resistD(Index,2);

end

endPcyl=SensorValue(1:4); %VE cylinder pressuresPcase=SensorValue(5:8); %VE case pressuresdelta t=SensorValue(9); %VE time step 80

degreePrev=degree(1);degree(1)=SensorValue(10); %VE engine degree for Cyl 1degree(2)=degree(1)+180; %other cylinders are offsetdegree(3)=degree(1)+180;%2 and 3+0 for big-bang,+180 for even firedegree(4)=degree(1)+0;delta theta=(degree(1)−degreePrev)pi/180; % change in crank angle, [rad]VECycleTime(CurrentCycle,aCycleCount)=time; % VE elapsed timeCylTgas=Tgas(Pcyl−Pcase,degree+180,stroke,pistonarea,stroke/2,Lcr);CylTirp=Tirp(degree+180,omega,massp,massc,stroke/2,Lcr,rodcg); 90

torque=sum(CylTgas); %add all 4 cylinderstorque=torque+sum(CylTirp); % and Tirp for all 4 cylindersCycleTorqueGas(CurrentCycle,aCycleCount(CurrentCycle)) = sum(CylTgas);CycleTorqueIrp(CurrentCycle,aCycleCount(CurrentCycle)) = sum(CylTirp);torque=torque−TResist(CurrentCycle);% note: Lcr is not equal to stroke/2% double check Tgas equation for pin offsetalpha=torque/J; % instantaneous angular accelerationomega=omega+alphadeltat; % new instantaneous velocity%debug 100

%omega=TargetRpm2pi/60; %force to Target Rpm for debug%omega=50002pi/60; %force to 5000 rpm for debugCycleRpm(CurrentCycle,aCycleCount(CurrentCycle)) = omega/2/pi60;

theActuatorValue(1)=CycleRpm(CurrentCycle,aCycleCount(CurrentCycle)); %update VE rpm% Saving sensor data for plotting

CylPressure(aCount,:) = Pcyl/100000; % Cylinder pressure at current timestep, [bar]

162

CasePressure(aCount,:) = Pcase/100000; % Case pressure at current timestep, [bar]CylDegree(aCount) = degree(1); % Crank angle at the current timestep, [deg] 110

CycleTorque(CurrentCycle,aCycleCount(CurrentCycle)) = torque;VECycleBrakeTorque(CurrentCycle,aCycleCount(CurrentCycle)) = SensorValue(14);CyclePressure(CurrentCycle,aCycleCount(CurrentCycle),:) = Pcyl;CycleDegree(CurrentCycle,aCycleCount(CurrentCycle)) = CylDegree(aCount);CycleAlpha(CurrentCycle,aCycleCount(CurrentCycle)) = alpha;CycleTime(CurrentCycle,aCycleCount(CurrentCycle)) = time; %calculated timeVECycleDeltaTheta(CurrentCycle,aCycleCount(CurrentCycle)) = delta theta; %VE dThetaCycleDeltaTime(CurrentCycle,aCycleCount(CurrentCycle))=. . .

delta theta/omega; % calculated dTime120

% Plot continuous dataaPlotCount= aPlotCount+ 1;if aPlotCount >= 200

aPlotCount= 0% plotting cylinder pressure

subplot(3,2,1);plot(SimAngle,CylPressure(:,1),’.b’,’MarkerSize’,1);xlim([0 360]);set(gca,’XTick’,0:90:360);set(gca,’XTickLabel’,{0,90,’BDC’,270,360}); 130

xlabel(’Crank Angle (deg)’);ylabel(’Cyl Pressure (bar)’);grid on;

end

% Plot cycle data: torque Diagram

if CyclePlotFlag == 1 & CurrentCycle> 1VEBrakeTq(CurrentCycle)=SensorValue(14); % VE cycle-average brake torque

140

subplot(3,2,2);plot(CycleDegree(CurrentCycle−1,1:aCycleCount(CurrentCycle−1)),. . .

CycleTorque(CurrentCycle−1,1:aCycleCount(CurrentCycle−1)),’.b’,’MarkerSize’,1);axis([0 360 −250 600]);set(gca,’XTick’,0:90:360);set(gca,’XTickLabel’,{0,90,’BDC’,270,360});xlabel(’Crank Angle (deg)’);ylabel(’Torque (Nm)’);grid on;

150

subplot(3,2,3);plot(CycleDegree(CurrentCycle−1,1:aCycleCount(CurrentCycle−1)),. . .

CycleRpm(CurrentCycle−1,1:aCycleCount(CurrentCycle−1)),’.b’,’MarkerSize’,1);axis([0 360 TargetRpm.92 TargetRpm1.08]);set(gca,’XTick’,0:90:360);set(gca,’XTickLabel’,{0,90,’BDC’,270,360});xlabel(’Crank Angle (deg)’);ylabel(’rpm’);grid on;

160

subplot(3,2,4);plot(1:length(TResist),TResist,’o’,. . .

1:length(VEBrakeTq),VEBrakeTq,’x’); % static resistance versus cycle number

163

xlim([0 40]);

subplot(3,2,5);plot(1:length(RpmError),RpmError,’-o’); % rpm error versus cycle numberylabel(’rpm error’);xlim([0 40]);

170

subplot(3,2,6);plot(1:length(RpmErrorInt),RpmErrorInt,’x’); % error integral vs cycle numberylabel(’int(rpm error)’);xlim([0 40]);

results=[CycleDegree(CurrentCycle−1,1:aCycleCount(CurrentCycle−1))’. . .CycleRpm(CurrentCycle−1,1:aCycleCount(CurrentCycle−1))’. . .CycleTorqueGas(CurrentCycle−1,1:aCycleCount(CurrentCycle−1))’. . .CycleTorqueIrp(CurrentCycle−1,1:aCycleCount(CurrentCycle−1))’];

filename=strcat(’even˙fire˙500˙results’,num2str(TargetRpm),. . . 180

’˙’,num2str(J100000),’.txt’);% name will be something like evenfire 500 results9000 89% 9000 is the rpm, 984 means J=98.4 kg cm2save(filename,’results’,’-ascii’);

CyclePlotFlag= 0; % Reset Plotend

% end of File

164

% Script freemass4stroke.m% This feeds a free-mass response to the VEMS link.% This feeds a zero degree of freedom response to the VEMS link.% Instantaneous torque is Pcyl acting% on piston area A, through crank-slider mechanism according to% Lct, Lcr, pin offset, and instantaneous crank angle.% This routine is configured for a single-cylinder engine% Thermodynamic cycle is four-stroke.

if (not(Initialized)) %finish initialization now that 10

%initial SensorValue matrix is validTargetRpm=SensorValue(6); %VE rpmIndex=find(resistBase(:,1)==TargetRpm) %lookup index for various

% rpm-related variablesomega=TargetRpm2pi/60; %intial flywheel speedomega=omega1.02; % speed it up initially, because we start at EPO,

% which is a fast part of the cycledegree=SensorValue(3); %VE initial engine degreeTResist(1)=resistBase(Index,2); % initial guess= base resistance at target rpmInitialized=1; %ok, NOW it’s fully initialized 20

end

aCount = aCount + 1; % Elapsed Timesteps, totalSimAngle(aCount) = SensorValue(3); % VE Crank AngletheCycleNumber= SensorValue(4); % VE cycle number

if theCycleNumber> CurrentCycleCurrentCycle= theCycleNumber; % Ensuring this only executes once per cycleCyclePlotFlag= 1; % Only plot PV diagram once per cycle

30

aCycleCount(CurrentCycle) = 1; % Reset for next cycleelse

aCycleCount(CurrentCycle) = aCycleCount(CurrentCycle) + 1;% Increment in-cycle step counter

endif CyclePlotFlag == 1

TorqueAvg(CurrentCycle)=mean(spline(. . .CycleDegree(CurrentCycle−1,1:aCycleCount(CurrentCycle−1)),. . .CycleTorque(CurrentCycle−1,1:aCycleCount(CurrentCycle−1)),1:720));

%note: this must be evenly spaced across angle domain beforetaking the mean 40

RpmAvg(CurrentCycle)=mean(spline(. . .CycleDegree(CurrentCycle−1,1:aCycleCount(CurrentCycle−1)),. . .CycleRpm(CurrentCycle−1,1:aCycleCount(CurrentCycle−1)),1:720));

%note: this must be evenly spaced across angle domain beforetaking the meanRpmError(CurrentCycle)=RpmAvg(CurrentCycle)−TargetRpm;RpmErrorDif (CurrentCycle)=diff (RpmError(CurrentCycle−1:CurrentCycle));

TResist(CurrentCycle)=TorqueAvg(CurrentCycle)+TResist(CurrentCycle−1)+. . .(JRpmError(CurrentCycle)2pi/60/60RpmAvg(CurrentCycle))resistP(Index,2)+. . .RpmErrorDif (CurrentCycle)resistD(Index,2); 50

if CurrentCycle > 5RpmErrorInt(CurrentCycle)=sum(RpmError(5:CurrentCycle));TResist(CurrentCycle)=TResist(CurrentCycle)+. . .

165

RpmErrorInt(CurrentCycle)resistI(Index,2);endif CurrentCycle >= 2

TResist(CurrentCycle)=TResist(CurrentCycle)+. . .RpmErrorDif (CurrentCycle)resistD(Index,2);

end60

endPcyl=SensorValue(1); %VE cylinder pressuredelta t=SensorValue(2); %VE time stepdegreePrev=degree;degree=SensorValue(3); %VE engine degreedelta theta=(degree−degreePrev)pi/180; % change in crank angle, [rad]timePrev=time;time=SensorValue(5); %VE current timeVECycleTime(CurrentCycle,aCycleCount)=time; % VE elapsed time

70

CylTgas=Tgas(Pcyl,degree+180,stroke,pistonarea,stroke/2,Lcr);CylTirp=Tirp(degree+180,omega,massp,massc,stroke/2,Lcr,rodcg);CycleTorqueGas(CurrentCycle,aCycleCount(CurrentCycle)) = CylTgas;CycleTorqueIrp(CurrentCycle,aCycleCount(CurrentCycle)) = CylTirp;

torque=CylTgas+CylTirp;torque=torque−TResist(CurrentCycle);% note: Lcr is not exactly equal to stroke/2% double check Tgas equation for pin offsetalpha=torque/J; % instantaneous angular acceleration 80

omega=omega+alphadeltat; % new instantaneous velocity%debug%omega=TargetRpm2pi/60; %force to Target Rpm for debugCycleRpm(CurrentCycle,aCycleCount(CurrentCycle)) = omega/2/pi60;time=timePrev+(delta theta/omega); % new time

theActuatorValue(1)=. . .CycleRpm(CurrentCycle,aCycleCount(CurrentCycle)); %update VE rpm

% Saving sensor data for plotting90

CylPressure(aCount) = Pcyl/100000; % Cylinder pressure at current timestep, [bar]CylDegree(aCount) = degree; % Crank angle at the current timestep, [deg]CycleTorque(CurrentCycle,aCycleCount(CurrentCycle)) = torque;VECycleBrakeTorque(CurrentCycle,aCycleCount(CurrentCycle)) = SensorValue(7);CyclePressure(CurrentCycle,aCycleCount(CurrentCycle)) = Pcyl;CycleDegree(CurrentCycle,aCycleCount(CurrentCycle)) = CylDegree(aCount);CycleAlpha(CurrentCycle,aCycleCount(CurrentCycle)) = alpha;CycleTime(CurrentCycle,aCycleCount(CurrentCycle)) = time; %calculated timeVECycleDeltaTheta(CurrentCycle,aCycleCount(CurrentCycle)) = delta theta; %VE dThetaCycleDeltaTime(CurrentCycle,aCycleCount(CurrentCycle))=. . . 100

delta theta/omega; % calculated dTime

% Plot continuous dataaPlotCount= aPlotCount+ 1;if aPlotCount >= 200

aPlotCount= 0% plotting cylinder pressure

subplot(3,2,1);

166

set(gcf,’Position’,[524 198 500 500]);plot(SimAngle,CylPressure,’.b’,’MarkerSize’,1); 110

xlim([0 720]);set(gca,’XTick’,0:90:720);set(gca,’XTickLabel’,{0,90,’BDC’,270,’TDC’,450,540,’BDC’,720});set(gca,’FontSize’,8);xlabel(’Crank Angle (deg)’);ylabel(’Cyl Pressure (bar)’);

end

% Plot cycle data: torque Diagram120

if CyclePlotFlag == 1 & CurrentCycle> 1VEBrakeTq(CurrentCycle)=SensorValue(7); % VE cycle-average brake torque

subplot(3,2,2);plot(CycleDegree(CurrentCycle−1,1:aCycleCount(CurrentCycle−1)),. . .

CycleTorque(CurrentCycle−1,1:aCycleCount(CurrentCycle−1)),. . .’.b’,’MarkerSize’,1);

axis([0 720 −200 600]);set(gca,’XTick’,0:90:720);set(gca,’XTickLabel’,{0,90,’BDC’,270,’TDC’,450,540,’BDC’,720}); 130

xlabel(’Crank Angle (deg)’);ylabel(’Torque (Nm)’);

subplot(3,2,3);plot(CycleDegree(CurrentCycle−1,1:aCycleCount(CurrentCycle−1)),. . .

CycleRpm(CurrentCycle−1,1:aCycleCount(CurrentCycle−1)),’.b’,’MarkerSize’,1);axis([0 720 TargetRpm.92 TargetRpm1.08]);set(gca,’XTick’,0:90:720);set(gca,’XTickLabel’,{0,90,’BDC’,270,’TDC’,450,540,’BDC’,720});xlabel(’Crank Angle (deg)’); 140

ylabel(’rpm’);

subplot(3,2,4);plot(1:length(TResist),TResist,’o’,. . .

1:length(VEBrakeTq),VEBrakeTq,’x’); % static resistance versus cycle numberxlim([0 40]);

subplot(3,2,5);plot(1:length(RpmError),RpmError,’-o’); % rpm error versus cycle numberylabel(’rpm error’); 150

xlim([0 40]);

subplot(3,2,6);plot(1:length(RpmErrorInt),RpmErrorInt,’x’); % error integral vs cycle numberylabel(’int(rpm error)’);xlim([0 40]);

set(findobj(’Type’,’axes’),’FontSize’,8)

results=[CycleDegree(CurrentCycle−1,1:aCycleCount(CurrentCycle−1))’. . . 160

CycleRpm(CurrentCycle−1,1:aCycleCount(CurrentCycle−1))’. . .CycleTorqueGas(CurrentCycle−1,1:aCycleCount(CurrentCycle−1))’. . .CycleTorqueIrp(CurrentCycle−1,1:aCycleCount(CurrentCycle−1))’];

167

filename=strcat(’400˙results’,num2str(TargetRpm,’%05.0f%’),. . .’˙’,num2str(massp1000),’.txt’);

% name will be something like 400results 06500551% 6500 is the rpm, 551 means massp=0.551 kgsave(filename,’results’,’-ascii’);

CyclePlotFlag= 0; % Reset Plot 170

end

% end of File

168

% Script: charliemethod4strokegeared.m% This feeds a three mass response to the VEMS link.% Thermodynamic cycle is four-stroke.% Method is analytical (matrix method).% It assumes a gear ratio’gear’ between J0 and J1.% Inertia, stiffness, and damping matricies are built.% Anything downstream of the gear ratio is input into the% respective matrix as equivalent values.% J“=J’(R” /R’)ˆ2.% K“=K’(R” /R’)ˆ2 10

% where R’/R“=gear reduction. R” is radius of crank gearwheel,% R’ is radius of clutch basket gear wheel. R’>R“ => gear reduction> 1.%% Instantaneous torque is (Pcyl - Pcase) acting% on piston area A, through crank-slider mechanism according to% Lct, Lcr, pin offset, and instantaneous crank angle.%% A whole cycle (2 revs) of torque is decomposed into sine components% for harmonics up to a reasonable order. A load matrix,’f’,% is built from these components. 20

%% The coefficients of the position, velocity, and acceleration% quantities, matrix’x’, is calculated from% x=A/f.%% Position as a function of time over the cycle is then calculated from% reconstructing the profile from the magnitude and phase of% each harmonic from 0.5, 1, . . ., nth order.% magnitude= sqrt(A kiˆ2+B kiˆ2), and% phase= arctan(B ki,A ki). (note: 4-quadrant arctangent) 30

%% This provides a lookup vector. Given an angle, it can look up% a time. Time=0 means BDC on compression stroke.%% The same reconstruction is done for the velocity profile, except% magnitude= omegaisqrt(A kiˆ2+B kiˆ2), and% phase= arctan(-A ki/B ki).%% Given this profile, and the time from before, it then looks up% the velocity, which is the answer returned to Virtual Engines. 40

%% Note: if the position, velocity, or acceleration of any of the% stations downstream of the gear ratio is needed, the actual% values must be calculated from the effective ones.% theta’=theta“(R” /R’)% omega’=omega“(R”/R’)% alpha’=alpha“(R’/R”)% where R’/R“=gear reduction.%% It saves the results in a text file. Rows are arbitrary. 50

% Columns are degree, rpm, torque.% Number of rows is arbitrary.% First row is immediately after BDC on the compression stroke (540 ATDC).

169

% File name will be something like:% geared426 results6500 50.txt% 6500 is the rpm, 50 is J2, in kg cm2%% InPins (input to matlab)%pin variable% 1 Pcyl 60

% 2 time step% 3 degree% 4 cycle% 5 time% 6 rpm% 7 torque%% OutPins (output from matlab to Virtual Engines)%pin variable% 1 rpm 70

%

if (not(Initialized)) %finish initialization now that%initial SensorValue matrix is valid

TargetRpm=SensorValue(6); %VE rpm% load (’\\brian\matlab\gear’)%get current gear ratios% gear(2:3)=gear(2:3)+0.6; %advance to next set% save (’\\brian\matlab\gear’,’gear’); %rewrite .mat file

degree=SensorValue(3); %VE initial engine degreej=jActual.(gear.ˆ−2); %calculate effective inertias 80

k=kActual.(gear(1:2).ˆ−2); %calculate effective stiffnessesInitialized=1; %ok, NOW it’s fully initialized

end

aCount = aCount + 1; % Elapsed Timesteps, totalSimAngle(aCount) = SensorValue(3); % VE Crank AngletheCycleNumber= SensorValue(4); % VE cycle number

if theCycleNumber> CurrentCycleCurrentCycle= theCycleNumber; % Ensuring this only executes once per cycle 90

CyclePlotFlag= 1; % Only plot PV diagram once per cycleDegreeWrapFlag= 0;aCycleCount(CurrentCycle) = 1; % Reset for next cycle

elseaCycleCount(CurrentCycle) = aCycleCount(CurrentCycle) + 1;% Increment in-cycle step counter

endif CyclePlotFlag == 1 %exectued once per cycle, at start of next cycle

TorqueAvg(CurrentCycle)=mean(spline(. . .CycleDegree(CurrentCycle−1,1:aCycleCount(CurrentCycle−1)),. . . 100

CycleTorque(CurrentCycle−1,1:aCycleCount(CurrentCycle−1)),1:720));%note: this must be evenly spaced across angle domain beforetaking the mean

RpmAvg(CurrentCycle)=mean(spline(. . .CycleDegree(CurrentCycle−1,1:aCycleCount(CurrentCycle−1)),. . .CycleRpm(CurrentCycle−1,1:aCycleCount(CurrentCycle−1)),1:720));

%note: this must be evenly spaced across angle domain beforetaking the meanRpmError(CurrentCycle)=RpmAvg(CurrentCycle)−TargetRpm;RpmErrorDif (CurrentCycle)=diff (RpmError(CurrentCycle−1:CurrentCycle));

170

% decompose Torque signal into sine and cosine componentsif (CurrentCycle==5) 110

CurrentCycle=CurrentCycle;endd=CycleDegree(CurrentCycle−1,1:aCycleCount(CurrentCycle−1));d(1:find(diff (d)<−360))=d(1:find(diff (d)<−360))−720; % unwrap

% decompose torque function into its harmonic components[mag,phase,rpm,a gas p,b gas p]=fourier decomp4 st 1 cyc(. . .

d,. . .CycleTime(CurrentCycle−1,1:aCycleCount(CurrentCycle−1)),. . .CycleTorque(CurrentCycle−1,1:aCycleCount(CurrentCycle−1)));

% Apply this forcing function to inertia& stiffness matrix. 120

% Result is’x’, sine and cosine components of the position functions% at each half order.

Charlie onecycle;alphaTable=fourier reconstruct 4 stroke(c alpha charlie,. . .

phasealpha charlie,orders2);omegaTable=fourier reconstruct 4 stroke(c omegacharlie,. . .

phaseomegacharlie,orders2);thetaTable=fourier reconstruct4 stroke(c theta charlie,. . .

phasetheta charlie,orders2);end 130

Pcyl=SensorValue(1); %VE cylinder pressuredegreePrev=degree;degree=SensorValue(3); %VE engine degree

%seems to go from 540 -> 720 -> 0 -> 540 with 4-strokestime=SensorValue(5); %VE current timeVECycleTime(CurrentCycle,aCycleCount(CurrentCycle))=time; % VE elapsed time

CylTgas=Tgas(Pcyl,degree+180,stroke,pistonarea,stroke/2,Lcr);CylTirp=Tirp(degree+180,omega,massp,massc,stroke/2,Lcr,rodcg);CycleTorqueGas(CurrentCycle,aCycleCount(CurrentCycle)) = CylTgas; 140

CycleTorqueIrp(CurrentCycle,aCycleCount(CurrentCycle)) = CylTirp;

torque=CylTgas+CylTirp;

% note: Lcr is not equal to stroke/2% double check Tgas equation for pin offset

if CurrentCycle<5omega=TargetRpm2pi/60; %force to Target Rpm for a few cyclestheta=(degree+180)/180pi; 150

% time=theta/omega; %time in secondselse

if (degree−degreePrev)<−360DegreeWrapFlag=1; % for remainder of cycled2=degree;

elsed2=degree−720;

endelse

d2=degree; 160

end

tau=1/TargetRpm602; % cycle period, sec

171

omega=spline(thetaTable+linspace(0,tau,721)TargetRpm/602pi,. . .omegaTable,. . .(d2+180)/180pi)+TargetRpm/602pi;

% lookup omega at that angle% using profile constructed from x matrix

end170

CycleRpm(CurrentCycle,aCycleCount(CurrentCycle)) = omega/2/pi60;

%theActuatorValue(1)=mass; %update VE cylinder mass%theActuatorValue(2)=Tcyl; %update VE temperature%theActuatorValue(3)=Pcyl; %update VE pressure%theActuatorValue(4)=CycleRpm(CurrentCycle,aCycleCount(CurrentCycle)); %update VE rpmtheActuatorValue(1)=CycleRpm(CurrentCycle,aCycleCount(CurrentCycle)); %update VE rpm% Saving sensor data for plotting

CylPressure(aCount) = Pcyl/100000; % Cylinder pressure at current timestep, [bar] 180

CylDegree(aCount) = degree; % Crank angle at the current timestep, [deg]

CycleTorque(CurrentCycle,aCycleCount(CurrentCycle)) = torque;VECycleBrakeTorque(CurrentCycle,aCycleCount(CurrentCycle)) = SensorValue(7);CyclePressure(CurrentCycle,aCycleCount(CurrentCycle)) = Pcyl;CycleDegree(CurrentCycle,aCycleCount(CurrentCycle)) = CylDegree(aCount);CycleAlpha(CurrentCycle,aCycleCount(CurrentCycle)) = alpha;CycleTime(CurrentCycle,aCycleCount(CurrentCycle)) = time; %calculated time

% Plot continuous data 190

aPlotCount= aPlotCount+ 1;if aPlotCount >= 200

aPlotCount= 0% plotting cylinder pressure

subplot(3,2,1);set(gcf,’Position’,[524 198 500 500]);plot(SimAngle,CylPressure,’.b’,’MarkerSize’,1);xlim([0 720]);set(gca,’XTick’,0:90:720);set(gca,’XTickLabel’,{0,90,’BDC’,270,’TDC’,450,’BDC’,630,720}); 200

set(gca,’FontSize’,8);xlabel(’Crank Angle (deg)’);ylabel(’Cyl Pressure (bar)’);text(360,40,num2str(degree));

end

% Plot cycle data: torque Diagram

if CyclePlotFlag == 1 & CurrentCycle> 1VEBrakeTq(CurrentCycle)=SensorValue(7); % VE cycle-average brake torque 210

subplot(3,2,2);plot(CycleDegree(CurrentCycle−1,1:aCycleCount(CurrentCycle−1)),. . .

CycleTorque(CurrentCycle−1,1:aCycleCount(CurrentCycle−1)),’.b’,’MarkerSize’,1);axis([0 720 −200 600]);set(gca,’XTick’,0:90:720);set(gca,’XTickLabel’,{0,90,’BDC’,270,’TDC’,450,’BDC’,630,720});set(gca,’FontSize’,8);

172

xlabel(’Crank Angle (deg)’);ylabel(’Torque (Nm)’); 220

text(360,200,num2str(CurrentCycle));

subplot(3,2,3);plot(CycleDegree(CurrentCycle−1,1:aCycleCount(CurrentCycle−1)),. . .

CycleRpm(CurrentCycle−1,1:aCycleCount(CurrentCycle−1)),’.b’,’MarkerSize’,1);axis([0 720 TargetRpm.85 TargetRpm1.15]);set(gca,’XTick’,0:90:720);set(gca,’XTickLabel’,{0,90,’BDC’,270,’TDC’,450,’BDC’,630,720});xlabel(’Crank Angle (deg)’);ylabel(’rpm’); 230

subplot(3,2,4);plot(fourier reconstruct 4 stroke(c charlie,phasecharlie,orders2));axis([0 720 −200 600]);

subplot(3,2,5);plot(omegaTable60/2/pi/TargetRpm+1);xlim([0 720]);ylim([.8 1.2]);

240

subplot(3,2,6);plot(alphaTable);xlim([0 720]);

temp=get(gcf,’children’);set(temp,’FontSize’,8);for i=1:length(temp);grid(temp(i),’on’);end

results=[CycleDegree(CurrentCycle−1,1:aCycleCount(CurrentCycle−1))’. . .CycleRpm(CurrentCycle−1,1:aCycleCount(CurrentCycle−1))’. . . 250

CycleTorque(CurrentCycle−1,1:aCycleCount(CurrentCycle−1))’];filename=strcat(’geared˙426˙results’,num2str(TargetRpm),. . .’˙’,num2str(fix(gear(2)100)),’.txt’);

% name will be something like geared426 results 6500 295% 6500 is the rpm, 2.95 is the gear ratiosave(filename,’results’,’-ascii’);

CyclePlotFlag= 0; % Reset Plotend

260

% end of File

173

% Script: charliemethod4strokegearedIC.m% This is the initialization rountine for drivetrain modelling% through an embedded MATLAB/Simulink interface.

% IMPORTANT !!% Do not clear the MATLAB environment from here as the initialActuatorValue in VE% has already been passed to MATLAB before this is called

% load parameter values10

load ’““brian“matlab“drivetrain˙geared˙426’;%make sure these files don’t overwrite stuff you should be%passing from VE.

% plotting

CurrentStep= 0; % Step counterCurrentCycle= 1; % Cycle counter

% counters 20

aCount = 0; % Elapsed Time-stepsaCycleCount= 0; % VE time steps in cycleaPlotCount= 0; % Use a counter to refresh plot windowPlotFlag=0;ProgLine ic=25;CyclePlotFlag= 0; % Initialize flag

clear CylPressure CycleTorque CycleDegree CycleRpm CycleAlpha;clear VEBrakeTq; 30

clear SimAngle;

Initialized=0; %flag to force main .m file to initialize variables%associated with SensorValue matrix

% End of File

174

% function: [wstruct]=charlie sweepf(NumCycles,j,k,c,rpm,am,b m)% Sweeps through an array of cycles calculating the motion response% of a mass-elastic system given a forcing function and a system% characterization.% Method: analytical (matrix method)function [wstruct]=charlie sweepf (NumCycles,j,k,c,rpm,a m,b m)

% a m and bm are the sinusoid coeff. of the forcing function% that is acting on inertias j.% k = a vector of the inter-mass stiffnesses 10

% c = a vector of the inter-mass damping coefficientsn=length(j); %number of inertias%NumCycles= number of cycles%rpm = cycle-averaged rpm at each cycle%%outputs:%% wstruct.rho= magnitude of response of station 1 at each cycle% wstruct.phi= phase of response of station 1 at each cycle% wstruct.rpm= cycle-averaged rpm at each cycle 20

% wstruct.a = magnitude of cosine component of omega1 at each cycle% wstruct.b = magnitude of sine component of omega1 at each cycle

%build inertia matrixI=diag(j,0);

%build stiffness matrixK=diag([k;k(end)],0);K=K+diag([0;k(1:end−1);0],0);K=K−diag(k,−1); 30

K=K−diag(k,1);

%build damping matrixC=diag([c;c(end)],0);C=C+diag([0;c(1:end−1);0],0);C=C−diag(c,−1);C=C−diag(c,1);

wi=(rpm/602pi)[1:8]; % omegai at each revolution, across all harmonicswstruct.rpm=rpm; 40

for i=1:8; % harmonic order 1 thru 8% (note: index=harmonic+1 to allow for 0th harmonic)

% each different rpm of the data% 1000 revs, each a few rpm higher than the previous

% Matrix f, 2n x 1f=zeros(2n,NumCycles);

f (1,:)=a m(:,i+1)’; % FA for station 1 (crankshaft), across all revolutions, harmonic i 50

f (2,:)=b m(:,i+1)’; % FB for station 1 (crankshaft), across all revolutions, harmonic iF=reshape(f,2,n,NumCycles);

175

c charlie(:,i+1,1)=sqrt(F(1,1,:). 2+F(2,1,:). 2);phasecharlie(:,i+1,1)=atan2(F(2,1,:),F(1,1,:));

%torque= FAcos(wit)+FBsin(wit)%magnitude of torque= sqrt(FA 2+FBˆ2)%phase of torque= atan(FB/FA)% note: must use 4-quadrant arctangent for this

% notice torque due to gas= 0 everywhere except crank 60

for index=1:NumCycles; % for each revolution of sweep (each rpm)w=wi(index,i);A=build matrix A(j,k,c,w,n); %set up A matrix

x=A\f (:,index); % solve matrix form equation for one rpmwstruct.a(index,i+1)=x(1);wstruct.b(index,i+1)=x(2);x=reshape(x,2,n)’;wstruct.rho(index,i+1)=wsqrt(x(1,1).ˆ2+x(1,2).ˆ2); %magnitude of angular deviations 70

wstruct.phi(index,i+1)=atan2(−x(1,1),x(1,2)); % phase of angular deviations% Inertia station 0 (the crankshaft) only.

end % index

fprintf (1,’.’);

end % order ireturn

176

function A=build matrix A(j,k,c,w,n)% Build matrix A, 2n x 2nA=zeros(2n);switch(n)case(2) %two mass system

A(1,1)=k(1)−j(1)wˆ2; % inertia terms on main diagonalA(2,2)=k(1)−j(1)wˆ2;A(3,3)=k(1)−j(2)wˆ2;A(4,4)=k(1)−j(2)wˆ2;

10

A(1,2)=wc(1); % damping terms on -1 and+1 diagonalsA(2,3)=wc(1);A(3,4)=wc(1);A(2,1)=−wc(1);A(3,2)=−wc(1);A(4,3)=−wc(1);

A(3,1)=−k(1); % stiffness terms on -2 and+2 diagonalsA(4,2)=−k(1);A(1,3)=−k(1); 20

A(2,4)=−k(1);

A(4,1)=wc(1); % wc terms on -3 and+3 diagonalsA(1,4)=−wc(1);

case(3) % three mass systemA(1,1)=k(1)−j(1)wˆ2; % inertia terms on main diagonalA(2,2)=k(1)−j(1)wˆ2;A(3,3)=k(1)+k(2)−j(2)wˆ2;A(4,4)=k(1)+k(2)−j(2)wˆ2;A(5,5)=k(2)−j(3)wˆ2; 30

A(6,6)=k(2)−j(3)wˆ2;

A(1,2)=wc(1); % damping terms on -1 and+1 diagonalsA(2,3)=wc(1);A(3,4)=w(c(1)+c(2));A(4,5)=wc(2);A(5,6)=w(c(1)+c(2));A(2,1)=−wc(1);A(3,2)=−wc(1); 40

A(4,3)=−w(c(1)+c(2));A(5,4)=−wc(2);A(6,5)=−w(c(1)+c(2));

A(3,1)=−k(1); % stiffness terms on -2 and+2 diagonalsA(4,2)=−k(1);A(5,3)=−k(2);A(6,4)=−k(2);A(1,3)=−k(1);A(2,4)=−k(1); 50

A(3,5)=−k(2);A(4,6)=−k(2);

177

A(4,1)=wc(1); % wc terms on -3 and+3 diagonalsA(6,3)=wc(2);A(1,4)=−wc(1);A(3,6)=−wc(2);

otherwise% inertias repeated along main diagonal terms= -I(index)w 2 60

A=A−wˆ2diag(reshape([j j ]’,2n,1),0);% add stiffnesses repeated along main diagonal, two sets offset outwardsA=A+diag(reshape([[k;0] [k;0]]’,2n,1),0);A=A+diag(reshape([[0;k] [0;k]]’,2n,1),0);% dampings along -1 diagonal, two sets offset outwardsA=A−wdiag([reshape([c c]’,2(n-1),1);0],−1);A=A−wdiag([0;reshape([c c]’,2(n-1),1)],-1);% dampings along+1 diagonal, two sets offset outwardsA=A+wdiag([reshape([c c]’,2(n-1),1);0],1);A=A+wdiag([0;reshape([c c]’,2(n-1),1)],1); 70

% -stiffnesses repeated on -2 and+2 diagonalsA=A−diag([reshape([k k]’,2(n-1),1)],-2);A=A−diag([reshape([k k]’,2(n-1),1)],+2);% wc terms on -3 and+3 diagonalsA=A+wdiag( [reshape([c(1:end−1) zeros(5,1)]’,10,1);c(end)], −3);A=A−wdiag( [reshape([c(1:end−1) zeros(5,1)]’,10,1);c(end)], +3);

endreturn

178

% Function fourier decomp2 st 1 cyc.m% Fourier decompositionfunction [c, phase, rpm, a, b]=fourier decomp2 st 1 cyc(angle,time,f )

%f is the function value i.e. torque, speed, whatever, versus time.% time is time, unevenly spaced in the cycle% angle is the crank angle corresponding to each point in time% f is the function at each point in time% This version operates on a two-stroke thermodynamic cycle.

10

%extrapolate or interpolate a little bit to synch up% exactly on -180 and 180 degreeststart=spline(angle,time,−180);tend=spline(angle,time,180);% evenly space in timet=linspace(tstart,tend,360);f spaced=spline(time,f,t);

% calculate average rpm for cycleperiod=time(end)−time(1); 20

rpm=1/period60; %period spans one revolution

a(1)=2mean(f spaced); %0th harmonic

for j=1:12; %1st to 12th harmonic%j=0 means zeroth harmonic, or DC component% which is assumed= 0.% 1st order (j=1) means a sine wave in% one revolution

30

a(j)=2mean(f spaced.cos(j(0:359)/180pi));b(j)=2mean(f spaced.sin(j(0:359)/180pi));c(j)=sqrt(a(j)ˆ2+b(j)ˆ2); % magnitudephase(j)=atan2(b(j),a(j)); % phase%NOTE: you MUST use a 4-quadrant arctangent here

end

179

% Function fourier decomp4 st 1 cyc.m% Fourier decompositionfunction [c, phase, rpm, a, b]=fourier decomp4 st 1 cyc(angle,time,f )

%f is the function value i.e. torque, speed, whatever, versus time.% time is time, unevenly spaced in the cycle% angle is the crank angle corresponding to each point in time% f is the function at each point in time% This version operates on a four-stroke thermodynamic cycle.

10

%extrapolate or interpolate a little bit to synch up% exactly on -180 and 540 degreeststart=spline(angle,time,−180);tend=spline(angle,time,540);% evenly space in timet=linspace(tstart,tend,720);f spaced=spline(time,f,t);

% calculate average rpm for cycleperiod=time(end)−time(1); 20

rpm=1/period602; %period spans two revolutions

a(1)=2mean(f spaced); %0th harmonic

for two j=1:24; %0.5th to 12th harmonic by half steps%j=0 means zeroth harmonic, or DC component% which is assumed= 0.% 1st order (j=1) means a sine wave in% one revolution% 0.5th order (j=0.5) means a whole sine wave in 30

% two revolutions (one cycle)

a(two j)=2mean(f spaced.cos((two j/2)(0:719)/180pi));b(two j)=2mean(f spaced.sin((two j/2)(0:719)/180pi));c(two j)=sqrt(a(two j)ˆ2+b(two j)ˆ2); % magnitudephase(two j)=atan2(b(two j),a(two j)); % phase%NOTE: you MUST use a 4-quadrant arctangent here

end

180

% Function fourier decompc.m% Fourier decompositionfunction output=fourier decompc(time,f,cycles,n)

% Decomposes angle-based signal across many cycles.% f is the function value i.e. torque, speed, whatever, versus angle.% cycles is the number of engine rotations to calculate.% make sure this doesn’t go past the end of the data% n is the number of cycles that will be analyzed for each pointon the% fourier decomposition. Must be odd, i.e. 1, 3, 5, . . . 10

% n is limited by quasi steady-state assumption.%% output is a structure%output.a=cosine components%output.b=sine components%output.rho=vector magnitudes%output.phi=vector phases%output.rpm=cycle-averaged angular frequencies

if rem(n,2) == 0 20

disp(’error: n must be odd’)return;

endfor i=1:cycles;

index=(i−1)360+1;period=time(index+359)−time(index);rpm cycle(i)=1/period60;

end

for i=1:cycles−n; 30

index=(i−1)360+1;

% evenly space in angle domainf spaced=(f (index:index+(360n−1)));

if mod(i,100)==0fprintf (1,’.’);

% plot(f spaced);end

40

% calculate average rpm for each set of cyclesoutput.rpm(i)=mean(rpm cycle(i:i+n));

output.a(i,1)=2mean(f spaced); %0th harmonic

for j=1+1:8+1; %1st to 8th harmonic (remember harmonic% is j-1)

output.a(i,j)=2mean(f spaced.cos((j−1)(0:360n−1)/180pi));output.b(i,j)=2mean(f spaced.sin((j−1)(0:360n−1)/180pi));output.rho(i,j)=sqrt(output.a(i,j)ˆ2+output.b(i,j)ˆ2); % magnitude 50

output.phi(i,j)=atan2(output.b(i,j),output.a(i,j)); % phase%NOTE: you MUST use a 4-quadrant arctangent here

end

181

endoutput.a=[zeros(floor(n/2),9)nan;output.a];output.b=[zeros(floor(n/2),9)nan;output.b];output.rho=[zeros(floor(n/2),9)nan;output.rho];output.phi=[zeros(floor(n/2),9)nan;output.phi];output.rpm=[zeros(1,floor(n/2))nan output.rpm]’; 60

return

182

% Fourier reconstruction specifically for a 2-strokefunction [f re]=fourier reconstruct 2 stroke(magnitude,phase,orders)% Function f re(reconstruct) is the reconstructed profile given the% magnitude and phase vectors.% Indicies are: cycle, order, inertia#f re=0;for i=1:length(orders);

harmonic=orders(i);% i is the order number 1, 2, 3, . . . for a 2-stroke% i=1 means a whole sine wave in 1 revolution 10

f re=f re+cos((0:pi/180:2pi)harmonic−phase(1,harmonic,1)).. . .magnitude(1,harmonic,1);

end

% Function assumes a single cycle. Modify the first index to get it to% handle a group of cycles.%% Function is for a 2-stroke, so spans 360 degrees and works onthe% whole orders.

183

function [h]=piston pos(crank,Lcr,Lct,D)% piston position given crank angle, con rod length, crank throw,% and wrist pin offset% crank is in degreesh=((Lcr+Lct)ˆ2−Dˆ2)ˆ(1/2)−. . .

(Lcrˆ2−(Lctsin(crank./180pi)−D).ˆ2).ˆ(1/2)−. . .Lctcos(crank./180pi);

% convert gas pressure on top of piston to torque.% note: ignores case pressure% theta given in degrees, not radians% theta=0 is BDC on the compression stroke

function result=Tgas(pressure,theta,stroke,pistonarea,Lct,Lcr);

%offset to line up TDC and convert to radianstheta=(theta−180)/180pi;%theta=(theta)/180pi; %alternate version if 180 out. 10

% calculate torque due to gas pressureresult= (pressure.. . .

((sin(theta)+Lctˆ2.(sin(theta)).ˆ2./. . .(Lcrˆ2−Lctˆ2(sin(theta)).ˆ2).. . .cos(theta))pistonareastroke/2))’;

return

% calculate torque due to inertia of piston and rod% theta given in degrees ABDC% omega given in radians/s% a is the distance from the big end to the c.g.% result=Tirp(theta,omega,massp,massc,Lct,Lcr,a);

function result=Tirp(theta,omega,massp,massc,Lct,Lcr,a);

%offset to line up TDC and convert to radianstheta=(theta−180)/180pi; 10

% calculate torque due to inertia of vertically reciprocating partsresult=(−Lctˆ2omega.ˆ2.(cos(theta)+Lct/Lcrcos(2theta)).. . .

(massp+massca/Lcr).(sin(theta)+Lct/Lcrsin(theta).. . .cos(theta)./sqrt(1−Lctˆ2/Lcrˆ2(sin(theta)).ˆ2)))’;

return

184

% calculates Wiebe function at a given angle from% SoB to EoBfunction mfb=wiebe(WiebeA, WiebeM, BurnDG, deg)

% deg is angle relative to SoB. SoB+BurnDG=EoB.

mfb=1−exp(−WiebeA(deg/BurnDG).ˆ(WiebeM+1));

return

% function to interpolate and extrapolate skin temperatures at each pipe% section based on measurements.function Td=skintemp(x,Tm,xd,rpmtable,dirname,filename)for i=1:length(Tm)

Td(i,:)=interp1(x,Tm(i,:),xd,’linear’,’extrap’);end%for i=1:length(xd) % for each section, create a separate file

fid=fopen(strcat(dirname,filename,num2str(i),’.csv’),’w’);for j=1:length(rpmtable) %for each engine speed, print a row 10

fprintf ( fid,’%4.0f’,rpmtable(j) );fprintf (fid,’, ’);fprintf ( fid,’%4.2f’,Td(j,i) );fprintf (fid,char(13),char(10));

endfclose(fid);

endreturn

BIBLIOGRAPHY

Aquino, C. F. (1981), Transient A/F control characteristics of the 5 liter central fuel

injection engine, SAE Paper 810494.

Assanis, D. N. & Heywood, J. B. (1986), Development and use ofa computer simula-

tion of the turbocompounded diesel system for engine performance and component

heat transfer studies, SAE Paper 860329.

Baruah, P. (1990), A simulation model for transient operation of spark-ignition en-

gines, SAE Paper 900682.

Benson, R. S. (1971), A comprehensive digital computer program to simulate and com-

pression ignition engine including intake and exhaust systems, SAE Paper 710773.

Benson, R. S., Ledger, J. D., Whitehouse, N. D. & Walmsley, N.D. (1973), Com-

parison of experimental and simulated transient responsesof a turbocharged diesel

engine, SAE Paper 730666.

Bergeon, M. S. & Newman, C. E. (1995), ‘An analytical method for determining engine

torque harmonics with up front CAE’. SAE Paper 951248.

Berglund, S. (1993), ‘A model of turbocharged engines as dynamic drivetrain mem-

bers’,SAE Transactions102(933050).

Berglund, S. (1994), Comparison between measured and simulated transients of a tur-

bocharged diesel engine, SAE Paper 942323.

Birkett, C. A., Tecco, T. C. & Grohnke, D. A. (1991), Computersimulation of drive-

line vibration due to universal joints in heavy and medium duty trucks, SAE Paper

912700.

185

186

Blair, G. P. (1996),Design and Simulation of Two-Stroke Engines, SAE, Warrendale,

PA, USA.

Blair, G. P. (1999),Design and Simulation of Four-Stroke Engines, SAE, Warrendale,

PA, USA.

Boam, D. J. & Finlay, I. C. (1979), A computer model of fuel evaporation in the in-

take system of a carburetted petrol engine,in ‘Institute of Mechanical Engineers

Conference Proceedings’, Institution of Mechanical Engineers, pp. 25–37.

Boam, D. J., Finlay, I. C. & Fairhead, G. S. (1987), The optimization of fuel enrichment

patterns with throttle body injection,in ‘Proceedings of the Institution of Mechanical

Engineers’, Vol. 202 ofD1, Institution of Mechanical Engineers, pp. 9–20.

Boysal, A. & Rahnejat, H. (1997), ‘Torsional vibration analysis of a multi-body sin-

gle cylinder internal combustion engine model’,Applied Mathematical Modeling

21, 481–493.

British Internal Combustion Engine Research Association (1958),Handbook on Tor-

sional Vibration, Cambridge University Press, London, UK.

Callahan, B. J., Kee, R. J., McCartan, C. D., Fleck, R., Kenny, R. G. & Mackey, D. O.

(2002), ‘Simulation of dynamic operation of a single-cylinder two-stroke engine’,

SAE 2002 Transactions Journal of Engines111(3), 2881–2892.

Callahan, B. J., Kee, R. J., McCartan, C. D., Fleck, R., Kenny, R. G. & Mackey, D. O.

(2003), Drivetrain effects on small engine performance, SAE Paper 2003-32-0067.

Connoly, F. T. & Rizzoni, G. (1991), ‘Real time estimation ofengine torque for the

detection of engine misfires’,ASME Design Engineering40, 111–125.

Cunningham, G. (1996), An Investigation into the Lubrication of Crankcase Scavenged

Two-Stroke Cycle Engines, PhD thesis, Queen’s University Belfast, Belfast, North-

ern Ireland.

187

Douglas, R. (1990), AFR and emissions calculations for two-stroke cycle engines, SAE

Paper 901599.

Filipi, Z. S. & Assanis, D. N. (1997), ‘A non-linear, transient, single-cylinder diesel

engine simulation for predictions of instantaneous enginespeed and torque’,ASME

Internal Combustion Engines Division Publication28(1), 61–70.

Fleck, R. (1990), Three-cylinder, naturally aspirated, two-stroke automotive engines—

a performance potential evaluation, SAE Paper 901667.

Flower, J. O. & Windett, G. P. (1976), ‘An automotive dynamicperformance simulator

for vehicular powertrain system design’,International Journal of Vehicle Design

16(2/3), 264–281.

Froude Engineering, Ltd. (1981),Instruction Manual 855/2, Froude Eddy-Current Dy-

namometers, EC Range, Worcester, England.

Fudula, G. J., Engle, T. C. & Karvelis, A. V. (1987), A systemsapproach to reducing

gear rattle, SAE Paper 870396.

Griffin, J. H., Wu, W.-T., Wickert, J. A. & Brown, J. B., J. (1994), Torsional vibration

of drive trains, SAE Paper 941697.

Heywood, J. B. (1988),Internal Combustion Engine Fundamentals, McGraw-Hill,

New York, NY, USA.

Hires, S. D. & Overington, M. T. (1981), Transient mixture strength excursions— an

investigation of their causes and the development of a constant mixture strength

fueling strategy, SAE Paper 810495.

Hong, C. W. (1995), ‘An automotive dynamic performance simulator for vehicular

powertrain system design’,International Journal of Vehicle Design16(2/3), 264–

281.

188

Joyner, R. G. (1978), The driveline as a source of vibration,SAE Paper 780778.

Kar, M. K. (1982), Simulation of torque characteristics in drivelines with universal

joints, SAE Paper 821027.

Kee, R. J., McEntee, P. T., Blair, G. P., Fickenscher, T., Hoelzer, J. & Douglas, R.

(1997), Validation of two-stroke engine simulation by a transient test method, SAE

Paper 972135.

Keeney, C. S. & Shih, S. (1992), Prediction and control of heavy duty powertrain

torsional vibration, SAE Paper 922481.

Kimishima, T., Nakamura, T. & Suzuki, T. (1997), The effects on motorcycle behavior

of the moment of inertia of the crankshaft, SAE Paper 971060.

Lawrence, T. & Smith, M. T. (1996), Application of advanced modeling techniques

to handling qualities simulations,in ‘Annual Forum Proceedings—American Heli-

copter Society’, Vol. 1, Americal Helicopter Society, pp. 574–586.

Marek, S. L., Henein, N. A. & Bryzik, W. (1991), Effect of load and other parameters

on instantaneous frictional torque in reciprocating engines, SAE Paper 910752.

McCartan, C. D. (1995), Development of a Computer Modelling Package for Predict-

ing Engine Crankshaft Torsional Vibrations, PhD thesis, Queen’s University Belfast,

Belfast, Northern Ireland.

McEntee, P. T. (1999), Modelling and Evaluation of a High Performance Two-Stroke

Engine under Dynamic Operating Conditions, PhD thesis, Queen’s University

Belfast, Belfast, Northern Ireland.

Oberg, E., Jones, F. D., Horton, H. L. & Ryffel, H. H. (1992),Machinery’s Handbook,

24 edn, Industrial Press, Inc., New York, NY, USA.

189

Padmanabhan, C., Rook, T. E. & Singh, R. (1995), Modeling of automotive gear rattle

phenomenon: State of the art, SAE Paper 951316.

Parker, G. & Rizzoni, G. (1999), ‘Individual cylinder modelof a general aviation air-

craft engine’,Journal of Propulsion and Power15(5), 681–688.

Petkus, E. P. & Clark, S. F. (1987), A simple algorithm for torsional vibration analysis,

SAE Paper 870996.

Rizzoni, G., Drakunov, S. & Wang, Y.-Y. (1995), On-line estimation of indicated

torque in ic engines via sliding mode observers,in ‘Proceedings of the American

Control Conference’, Vol. 1, Seattle, WA, USA, pp. 2123–2127.

Rizzoni, G., Lee, D. & Ribbens, W. B. (1994), ‘Detection of partial misfire in ic engines

using a measurement of crankshaft angular velocity’,ASME Dynamic Systems and

Control 54, 205–230.

Rizzoni, G., Wang, Y.-Y. & Drakunov, S. (1995), ‘Estimationof engine torque using

nonlinear observers in the crank angle domain’,ASME Dynamic Systems and Con-

trol 5, 189–193.

Rizzoni, G. & Zhang, Y. (1993), ‘Identification of a nonlinear ic engine dynamic sys-

tem and control’,ASME Dynamic Systems and Control52, 199–209.

Scotson, P. G. & Heath, W. P. (1996), Crank-angle based control of high speed diesel

engines, SAE Paper 960619.

Sweeney, M. E. G., Kenny, R. G., Swann, G. B. G. & Blair, G. P. (1985), Single cycle

gas testing method for two-stroke engine scavenging, SAE Paper 850178.

Szadkowski, A. & McNerney, G. J. (1992), Clutch engagement simulation: Engage-

ment with throttle, SAE Paper 922483.

190

Szadkowski, A., Prange, E. & Naganathan, N. G. (1995), Hysteresis effects on drive-

line torsional vibrations, SAE Paper 951293.

Tecco, T. C. & Grohnke, D. A. (1986), Computer simulation of drivetrain torsional

vibration in eavy and medium duty trucks, SAE Paper 861960.

Thornhill, D. & Fleck, R. (1993), Design of a blower-scavenged, piston-ported, V6,

two-stroke automotive engine, SAE Paper 930980.

Vedam, K., Naganathan, N. G., Szadkowski, A. & Prange, E. (1995), Analysis of an

automotive driveline with cardan universal joints, SAE Paper 950895.

Williamson, S. O. (1968), Vehicle drive-line dynamics, SAEPaper 680584.

Wilson, W. K. (1963),Practical Solution of Torsional Vibration Problems, Vol. 2, third

edn, Chapman and Hall, Ltd., London, UK.

Windett, G. P. & Flower, J. O. (1974), ‘Sample-data frequency-response measurements

of a large diesel engine’,International Journal of Control19(3).

Winterbone, D. E., Thiruarooran, C. & Wellstead, P. E. (1977), A wholly dynamic

model of a turbocharged diesel engine for transfer functionevaluation, SAE Paper

770124.

Yoshida, J. (1996), ‘Idle shake simulation with engine exciting force’, JSAE Review

17, 65–77.

Zhang, G., Filipi, Z. S. & Assanis, D. N. (1997), ‘A flexible, reconfigurable, transient

multi-cylinder diesel engine simulation for system dynamics studies’,Mechanics of

Structures and Machines25-3(3), 357–378.

Zweiri, Y. H., Whidborne, J. F. & Seneviratne, L. D. (1999), Dynamic simulation of

a single-cylinder diesel engine including dynamometer andfriction, in ‘Proceedings

191

of the Institution of Mechanical Engineers’, Vol. 213 ofD, Institution of Mechanical

Engineers, pp. 391–402.

Zweiri, Y. H., Whidborne, J. F. & Seneviratne, L. D. (2001), Detailed analytical model

of a single-cylinder diesel engine in the crank angle domain, in ‘Proceedings of

the Institution of Mechanical Engineers’, Vol. 215 ofD, Institution of Mechanical

Engineers, pp. 1197–1216.