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
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.
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)
∆φ
π
2π
3π
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
−π
π
2π
3π
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
−π
π
2π
3π
4π
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
−π
π
2π
3π
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
−π
π
2π
3π
4π
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)
−π
π
2π
3π
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
−π
π
2π
3π
4π
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
−π
π
2π
3π
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
−π
π
2π
3π
4π
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.
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.