Warning
This page is WIP.
Engine
Every car needs an engine, no matter if its a common combustion engine with or without turbos, or even an electric engine. In rFactor2 you can have all, however you need to set it up properly and - of course - need some data to get it right. Hopefully the information and descriptions provided will help you to get your data into the right format and bring the engine to life!
Structure of the engine definition file
The engine definition file does not include any clear sections. However, it can still be separated into the following logical sections:
Setting of reference conditions.
Definition of engine performance data (curves).
Parameters to define fuel and air characteristics.
Parameters to define engine mechanics.
Parameters to define a turbo (if any).
Reference Conditions
The presence of reference conditions activates the new engine model of rFactor2.
- ReferenceConditions
Example value: (101325,1.225,0.073)
pressure (pascals), density (kg/m^3), fuel/air mass ratio, the presence of this line activates the new engine model
Performance Data
Note
The SkipBarber’s engine is a 2.0-liter, SOHC, with 133hp @ 6000 rpm, 175nm @ 5000 rpm, Max 6500 rpm, and 4.5s 0-96km/h.
- RPMBase
Example value: (0, -17.5, -17.5, 0.082, 1.207)
The individual values are, seperated with a comma: RPM, coast torque, reference max torque (assuming VolumeFract=1.0 & MixtureFract=1.0), idle function (throttle opening to maintain idle RPM), pressure ^ power (power increase above reference air pressure relative to coast torque)
- VolumeFract
Example value: (0, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000)
Maps accelerator position to fraction of combustion chamber filled with air, you can define a maximum resolution of 16 steps which are interpolated and distributed evenly
- MixtureFract
Example value: (0.93,0.9335,0.9355,0.9375)
Maps accelerator position to fraction of reference fuel/air mixture ratio
And this is what the whole section from the “SkipBarber_engine.ini” file looks like:
RPMBase=( 0, -17.5, -17.5, 0.082, 1.207)
VolumeFract=(0, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000)
MixtureFract=(0.93,0.9335,0.9355,0.9375)
RPMBase=( 250, -15.9, -3.3, 0.082, 1.747)
VolumeFract=(0, 0.975, 0.994, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000)
MixtureFract=(0.931,0.944,0.95,0.955)
RPMBase=( 500, -15.5, 55, 0.082, 0.983)
VolumeFract=(0, 0.820, 0.890, 0.940, 0.958, 0.977, 0.995, 0.996, 0.998, 0.999, 0.999, 1.000, 1.000, 1.000, 1.000, 1.000)
MixtureFract=(0.932,0.953,0.968,0.97)
RPMBase=( 750, -16.2, 105, 0.063, 0.984)
VolumeFract=(0, 0.530, 0.750, 0.870, 0.907, 0.944, 0.980, 0.986, 0.991, 0.997, 0.998, 0.999, 1.000, 1.000, 1.000, 1.000)
MixtureFract=(0.933,0.961,0.975,0.98)
RPMBase=( 1000, -17.0, 135, 0.025, 0.982)
VolumeFract=(0, 0.340, 0.595, 0.790, 0.848, 0.906, 0.963, 0.973, 0.982, 0.992, 0.995, 0.997, 1.000, 1.000, 1.000, 1.000)
MixtureFract=(0.934,0.968,0.985,0.99)
RPMBase=( 1250, -17.9, 147, 0.016, 0.978)
VolumeFract=(0, 0.230, 0.420, 0.600, 0.709, 0.817, 0.924, 0.943, 0.962, 0.980, 0.986, 0.993, 0.999, 0.999, 1.000, 1.000)
MixtureFract=(0.935,0.974,0.99,0.995)
RPMBase=( 1500, -18.8, 159, 0.012, 0.975)
VolumeFract=(0, 0.160, 0.310, 0.460, 0.601, 0.741, 0.880, 0.910, 0.940, 0.970, 0.979, 0.989, 0.998, 0.999, 0.999, 1.000)
MixtureFract=(0.936,0.98,0.995,0.997)
RPMBase=( 1750, -19.8, 168, 0.009, 0.971)
VolumeFract=(0, 0.134, 0.268, 0.400, 0.549, 0.699, 0.846, 0.885, 0.924, 0.963, 0.974, 0.985, 0.996, 0.997, 0.999, 1.000)
MixtureFract=(0.937,0.986,0.997,0.998)
RPMBase=( 2000, -20.8, 173, 0.006, 0.966)
VolumeFract=(0, 0.122, 0.245, 0.365, 0.515, 0.664, 0.812, 0.860, 0.908, 0.956, 0.969, 0.981, 0.994, 0.996, 0.998, 1.000)
MixtureFract=(0.938,0.991,0.998,0.999)
RPMBase=( 2250, -21.8, 174, 0.004, 0.961)
VolumeFract=(0, 0.114, 0.228, 0.340, 0.487, 0.633, 0.778, 0.836, 0.893, 0.950, 0.964, 0.977, 0.991, 0.994, 0.997, 1.000)
MixtureFract=(0.939,0.995,0.999,1)
RPMBase=( 2500, -22.9, 176, 0.003, 0.956)
VolumeFract=(0, 0.105, 0.210, 0.313, 0.458, 0.602, 0.745, 0.813, 0.881, 0.948, 0.961, 0.974, 0.987, 0.991, 0.996, 1.000)
MixtureFract=(0.94,0.997,1,1)
RPMBase=( 2750, -24.0, 179, 0.002, 0.951)
VolumeFract=(0, 0.097, 0.195, 0.291, 0.431, 0.572, 0.710, 0.785, 0.860, 0.934, 0.951, 0.968, 0.984, 0.989, 0.995, 1.000)
MixtureFract=(0.941,0.998,1,1)
RPMBase=( 3000, -25.1, 181.2, 0.001, 0.946)
VolumeFract=(0, 0.090, 0.181, 0.270, 0.406, 0.543, 0.677, 0.758, 0.840, 0.920, 0.940, 0.961, 0.981, 0.987, 0.994, 1.000)
MixtureFract=(0.942,0.999,1,1)
RPMBase=( 3250, -26.3, 181, 0, 0.941)
VolumeFract=(0, 0.084, 0.168, 0.250, 0.381, 0.511, 0.640, 0.727, 0.814, 0.900, 0.926, 0.952, 0.978, 0.985, 0.993, 1.000)
MixtureFract=(0.943,1,1,1)
RPMBase=( 3500, -27.5, 179, 0, 0.934)
VolumeFract=(0, 0.077, 0.155, 0.231, 0.358, 0.484, 0.609, 0.700, 0.791, 0.880, 0.912, 0.944, 0.975, 0.983, 0.992, 1.000)
MixtureFract=(0.944,1,1,1)
RPMBase=( 3750, -28.7, 181, 0, 0.929)
VolumeFract=(0, 0.072, 0.143, 0.214, 0.337, 0.460, 0.581, 0.674, 0.768, 0.860, 0.897, 0.934, 0.971, 0.981, 0.990, 1.000)
MixtureFract=(0.945,1,1,1)
RPMBase=( 4000, -29.9, 188, 0, 0.926)
VolumeFract=(0, 0.067, 0.134, 0.200, 0.321, 0.441, 0.560, 0.654, 0.748, 0.840, 0.883, 0.925, 0.967, 0.978, 0.989, 1.000)
MixtureFract=(0.946,1,1,1)
RPMBase=( 4250, -31.2, 190.5, 0, 0.921)
VolumeFract=(0, 0.063, 0.125, 0.187, 0.307, 0.427, 0.545, 0.640, 0.736, 0.830, 0.875, 0.919, 0.963, 0.975, 0.988, 1.000)
MixtureFract=(0.947,1,1,1)
RPMBase=( 4500, -32.5, 191.4, 0, 0.916)
VolumeFract=(0, 0.059, 0.117, 0.175, 0.294, 0.412, 0.529, 0.626, 0.724, 0.820, 0.868, 0.916, 0.964, 0.976, 0.988, 1.000)
MixtureFract=(0.948,1,1,1)
RPMBase=( 4750, -33.8, 192, 0, 0.911)
VolumeFract=(0, 0.056, 0.113, 0.168, 0.284, 0.400, 0.514, 0.613, 0.712, 0.810, 0.860, 0.910, 0.959, 0.973, 0.986, 1.000)
MixtureFract=(0.949,1,1,1)
RPMBase=( 5000, -35.1, 192.4, 0, 0.905)
VolumeFract=(0, 0.055, 0.109, 0.163, 0.275, 0.387, 0.498, 0.599, 0.700, 0.800, 0.852, 0.903, 0.954, 0.969, 0.985, 1.000)
MixtureFract=(0.95,1,1,1)
RPMBase=( 5250, -36.5, 190.2, 0, 0.899)
VolumeFract=(0, 0.053, 0.107, 0.159, 0.270, 0.381, 0.490, 0.591, 0.691, 0.790, 0.843, 0.897, 0.949, 0.966, 0.983, 1.000)
MixtureFract=(0.951,1,1,1)
RPMBase=( 5500, -37.9, 187.2, 0, 0.891)
VolumeFract=(0, 0.052, 0.105, 0.156, 0.265, 0.373, 0.480, 0.581, 0.681, 0.780, 0.835, 0.889, 0.943, 0.962, 0.981, 1.000)
MixtureFract=(0.952,1,1,1)
RPMBase=( 5750, -39.3, 180.4, 0, 0.882)
VolumeFract=(0, 0.051, 0.103, 0.153, 0.259, 0.365, 0.470, 0.571, 0.671, 0.770, 0.826, 0.882, 0.937, 0.958, 0.979, 1.000)
MixtureFract=(0.953,1,1,1)
RPMBase=( 6000, -40.7, 173.3, 0, 0.871)
VolumeFract=(0, 0.050, 0.101, 0.150, 0.254, 0.358, 0.460, 0.561, 0.661, 0.760, 0.818, 0.876, 0.933, 0.955, 0.978, 1.000)
MixtureFract=(0.954,1,1,1)
RPMBase=( 6250, -42.1, 165.9, 0, 0.86)
VolumeFract=(0, 0.049, 0.098, 0.147, 0.250, 0.353, 0.454, 0.554, 0.654, 0.753, 0.812, 0.870, 0.928, 0.952, 0.976, 1.000)
MixtureFract=(0.955,1,1,1)
RPMBase=( 6500, -43.6, 157.7, 0, 0.847)
VolumeFract=(0, 0.048, 0.096, 0.144, 0.247, 0.350, 0.452, 0.551, 0.651, 0.749, 0.808, 0.868, 0.926, 0.951, 0.976, 1.000)
MixtureFract=(0.956,1,1,1)
RPMBase=( 6750, -45.0, 149, 0, 0.833)
VolumeFract=(0, 0.048, 0.095, 0.142, 0.245, 0.348, 0.449, 0.548, 0.647, 0.745, 0.805, 0.865, 0.924, 0.949, 0.975, 1.000)
MixtureFract=(0.957,1,1,1)
RPMBase=( 7000, -46.5, 142.5, 0, 0.82)
VolumeFract=(0, 0.047, 0.094, 0.140, 0.243, 0.345, 0.446, 0.545, 0.644, 0.741, 0.802, 0.862, 0.922, 0.948, 0.974, 0.999)
MixtureFract=(0.958,1,1,1)
RPMBase=( 7250, -48.0, 136.5, 0, 0.806)
VolumeFract=(0, 0.046, 0.092, 0.138, 0.240, 0.342, 0.443, 0.541, 0.640, 0.737, 0.798, 0.860, 0.920, 0.946, 0.972, 0.998)
MixtureFract=(0.959,1,1,1)
RPMBase=( 7500, -49.5, 126, 0, 0.786)
VolumeFract=(0, 0.046, 0.091, 0.136, 0.238, 0.340, 0.440, 0.538, 0.636, 0.733, 0.795, 0.857, 0.918, 0.944, 0.971, 0.997)
MixtureFract=(0.96,1,1,1)
RPMBase=( 7750, -51.1, 111.6, 0, 0.757)
VolumeFract=(0, 0.045, 0.090, 0.134, 0.236, 0.337, 0.437, 0.535, 0.633, 0.729, 0.792, 0.854, 0.916, 0.942, 0.969, 0.995)
MixtureFract=(0.961,1,1,1)
RPMBase=( 8000, -52.6, 96.8, 0, 0.722)
VolumeFract=(0, 0.044, 0.088, 0.132, 0.233, 0.334, 0.434, 0.531, 0.629, 0.725, 0.788, 0.852, 0.914, 0.940, 0.966, 0.991)
MixtureFract=(0.962,1,1,1)
RPMBase=( 8250, -54.2, 81.4, 0, 0.677)
VolumeFract=(0, 0.044, 0.087, 0.130, 0.231, 0.332, 0.431, 0.528, 0.625, 0.721, 0.785, 0.849, 0.91, 0.936, 0.960, 0.985)
MixtureFract=(0.963,1,1,1)
RPMBase=( 8500, -55.7, 66, 0, 0.62)
VolumeFract=(0, 0.043, 0.086, 0.128, 0.229, 0.329, 0.428, 0.525, 0.622, 0.717, 0.782, 0.846, 0.9, 0.919, 0.949, 0.974)
MixtureFract=(0.964,1,1,1)
RPMBase=( 8750, -57.3, 49.5, 0, 0.541)
VolumeFract=(0, 0.042, 0.084, 0.126, 0.226, 0.326, 0.425, 0.521, 0.618, 0.713, 0.778, 0.844, 0.878, 0.897, 0.927, 0.946)
MixtureFract=(0.965,1,1,1)
RPMBase=( 9000, -58.9, 33, 0, 0.431)
VolumeFract=(0, 0.042, 0.083, 0.124, 0.224, 0.324, 0.422, 0.518, 0.614, 0.709, 0.775, 0.841, 0.866, 0.895, 0.88, 0.902)
MixtureFract=(0.966,1,1,1)
RPMBase=( 9250, -60.5, 11, 0, 0.196)
VolumeFract=(0, 0.041, 0.082, 0.122, 0.221, 0.321, 0.419, 0.515, 0.611, 0.705, 0.75, 0.77, 0.78, 0.79, 0.801, 0.824)
MixtureFract=(0.967,1,1,1)
Fuel and Air Characteristics
- FuelConsumption
Example value: 2.9e-5
Affected by throttle position, engine rotation, and air density
- FuelEstimate
Example value: 1.0
Fudge factor for differences between vehicle types (used for lap estimates and AI pit scheduling)
- FuelDensity
Example value: 0.74
Unit: kg/liter
- FuelAirMixtureTable
Example value: (0.0, 0.1)
Start and step size of fuel/air ratio (normalized relative to reference mixture) for following table:
- FuelAirMixtureEffects
Example value: (0.00, 0.00)
Torque multiplier, exhaust gas temperature multiplier
And this is what the whole section from the “SkipBarber_engine.ini” file looks like:
FuelConsumption=2.9e-5
FuelEstimate=1.0
FuelDensity=0.74
FuelAirMixtureTable=(0.0, 0.1)
FuelAirMixtureEffects=(0.00, 0.00)
FuelAirMixtureEffects=(0.10, 0.11)
FuelAirMixtureEffects=(0.20, 0.22)
FuelAirMixtureEffects=(0.30, 0.33)
FuelAirMixtureEffects=(0.40, 0.44)
FuelAirMixtureEffects=(0.50, 0.55)
FuelAirMixtureEffects=(0.60, 0.66)
FuelAirMixtureEffects=(0.70, 0.77)
FuelAirMixtureEffects=(0.80, 0.88)
FuelAirMixtureEffects=(0.89, 0.99)
FuelAirMixtureEffects=(0.98, 1.00)
FuelAirMixtureEffects=(1.00, 0.97)
FuelAirMixtureEffects=(0.97, 0.90)
FuelAirMixtureEffects=(0.85, 0.80)
FuelAirMixtureEffects=(0.65, 0.60)
FuelAirMixtureEffects=(0.40, 0.40)
FuelAirMixtureEffects=(0.10, 0.10)
FuelAirMixtureEffects=(0.00, 0.00)
Engine Mechanics
- EngineInertia
Example value: 0.092
Rotational inertia of engine components
- IdleRPMLogic
Example value: (800, 980)
Anti-stall clutch logic, values should be slightly lower than actual idle RPM
- LaunchEfficiency
Example value: 0
Efficiency (0.0-1.0) of launch control, or 0.0 if N/A
- LaunchRPMLogic
Example value: (5030, 6370)
holds RPM in this range before launch (used for AI even if launch control is N/A!)
- LaunchVariables
Example value: 0
Level of traction control used (0-3) and whether auto-upshifting is enabled (add 4); default=7
- RevLimitRange
Example value: (6500, 50, 1)
Target RPM for limiter to engage
- RevLimitSpecial
Example value: (0,,,””)
Gear specific offset rev limits can be enabled via special instructions (gr=,gn=,g1=…g9=) which represent reverse, neutral and gears 1 through 9. For example g3=-500 would decrease the maximum RPM in 3rd gear by 500 RPM.
- RevLimitSetting
Example value: 0
no description provided
- RevLimitAvailable
Example value: 1
Whether to use a rev limit (if 0, you still must have a “rev limit”, just make it 40000 or so, and make sure to change [CONTROLS]->UpshiftAlgorithm to fix shifting points)
- RevLimitLogic
Example value: 0
RPM range around current setting where soft rev limiter operates (either this or RevLimitTime should probably be zero)
- RevLimitHardTime
Example value: 0.1
Hard rev-limiter ignition cut time (either this or RevLimitLogic should probably be zero)
- EngineMapRange
Example value: (0, 1, 1)
0 = most driveable, max = most power (low gears only) (unimplemented)
- EngineMapSetting
Example value: 0
no description provided
- EngineBrakingParams
Example value: (0,1800)
0=old-style RPM based throttle increase, 1=throttle-based, 2=torque-based; then RPM step size for “Limit” tables below
- EngineBrakingLimit
Example value: ( -15, -16, -17, -18, -19, -20, -21, -22, -23, -24, -25)
Throttle or goal torque at 100%, has up to 11 entries, intended as the limit for engine braking (the maximum engine throttle or minimum negative torque) when coasting
- EngineBrakingGear0Limit
Example value: (-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999)
Limit overrides can be applied per gear, in this case basically requesting full engine braking no matter what, again up to 11 entries
- EngineBrakingMapRange
Example value: (0, 0.0005, 1)
If RPM based, input throttle is ranged from minimum to 100%, with the minimum = setting * step * RPM. If using the throttle or torque-based method, you are specifying the fraction of the “limit” values above
- EngineBrakingMapSetting
Example value: 0
Default is 0 * 0.0005 * 6000 RPM = 0.0% applied throttle at zero input throttle, note that with the throttle of torque methods values of (0, 0.1, 11) would correspond to 0-100% in 10% steps
- EngineBoostRange
Example value: (0, 0, 1)
Number of possible boost settings, this can be used in conjunction with BoostTurboPressure to alter turbo boost pressures
- EngineBoostSetting
Example value: 0
no description provided
- BoostEffects
Example value: (0.0, 0.01, 0.02)
RPM change per setting, fuel increase per setting, engine wear rate per setting
- OptimumOilTemp
Example value: 98.0
Degrees Celsius at which engine operates optimally
- CombustionHeat
Example value: 29.5
Degrees Celsius added per liter of fuel burned
- EngineSpeedHeat
Example value: 7.78e-04
Heat added linearly with engine speed
- OilMinimumCooling
Example value: 7.0e-3
Heat dissipated without oil/water transfer
- OilWaterHeatTransfer
Example value: (0.014, 8.1e-5)
Heat transfer from oil to water (base, w/ engine speed)
- WaterMinimumCooling
Example value: 4.5e-3
Base heat dissipated without velocity
- RadiatorCooling
Example value: (4.0e-6, 8.0e-5)
Cooling rate with velocity (base, per setting)
- LifetimeEngineRPM
Example value: (6200, 250)
(base engine speed for lifetime, range where lifetime is halved)
- LifetimeOilTemp
Example value: (109.5, 4.1)
(base oil temp for lifetime, range where lifetime is halved)
- LifetimeAvg
Example value: 14000
Average lifetime in seconds
- LifetimeVar
Example value: 4650
Lifetime random variance
- EngineEmission
Example value: (0.0, 0.55,-0.27)
Where flames and smoke are emitted (relative to ref frame at rear axle)
- EngineSound
Example value: ( 0.0, 0.50,-0.40)
Where engine sound is emitted (relative to ref frame at rear axle)
- SpeedLimiter
Example value: 0
Whether there is a pitlane speed limiter
- OnboardStarter
Example value: 1
Whether vehicle restarts when stalled
- StarterTiming
Example value: (0.1, 0.1, 3.4)
Average and variable cranking time, then blend with starting sound
- RamCenter
Example value: (0.0, 0.60,-0.72)
Location of ram air intake
- RamDraftMult
Example value: 6.0
Multiplier for effect that draft has on ram air velocity
- RamPressure
Example value: (0.0,3.5e-6)
Speed (m/s) to ambient pressure mult, speed squared (m/s)^2 to ambient pressure mult
And this is what the whole section from the “SkipBarber_engine.ini” file looks like:
EngineInertia=0.092
IdleRPMLogic=(800, 980)
LaunchEfficiency=0
LaunchRPMLogic=(5030, 6370)
LaunchVariables=0
RevLimitRange=(6500, 50, 1)
RevLimitSpecial=(0,,,"")
RevLimitSetting=0
RevLimitAvailable=1
RevLimitLogic=0
RevLimitHardTime=0.1
EngineMapRange=(0, 1, 1)
EngineMapSetting=0
EngineBrakingParams=(0,1800)
EngineBrakingLimit=( -15, -16, -17, -18, -19, -20, -21, -22, -23, -24, -25)
EngineBrakingGear0Limit=(-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999)
EngineBrakingMapRange=(0, 0.0005, 1)
EngineBrakingMapSetting=0
EngineBoostRange=(0, 0, 1)
EngineBoostSetting=0
BoostEffects=(0.0, 0.01, 0.02)
OptimumOilTemp=98.0
CombustionHeat=29.5
EngineSpeedHeat=7.78e-04
OilMinimumCooling=7.0e-3
OilWaterHeatTransfer=(0.014, 8.1e-5)
WaterMinimumCooling=4.5e-3
RadiatorCooling=(4.0e-6, 8.0e-5)
LifetimeEngineRPM=(6200, 250)
LifetimeOilTemp=(109.5, 4.1)
LifetimeAvg=14000
LifetimeVar=4650
EngineEmission=(0.0, 0.55,-0.27)
EngineSound=( 0.0, 0.50,-0.40)
SpeedLimiter=0
OnboardStarter=1
StarterTiming=(0.1, 0.1, 3.4)
RamCenter=(0.0, 0.60,-0.72)
RamDraftMult=6.0
RamPressure=(0.0,3.5e-6)
Turbos (optional)
The whole section can be repeated multiple times to create multiple turbos for your engine. However, it needs confirmation whether there is any limit (maybe only two turbos are possible).
- TurboInertia
Example value: 0.000115
You can actually have two turbos, each one starts with this line.
- TurboFriction
Example value: (0.002,2.5)
Torque (Nm, constant at any speed), power (W, ramps up linearly with speed)
- TurboStaticFrictionWatts
Example value: 100
static friction prevents numerical problems at low spool speeds
- TurbineFlowTable
Example value: (0,0.00756)
Corrected flow (kg/s corrected to standard temperature and pressure)
- TurbineFlowEffects
Example value: (1,0.52)
Pressure ratio, efficiency
- TurbineFlowEffects
Example value: (1.1, 0.711)
Etc… eventually basically reaches a peak PR while the efficiency drops back down
- IntakeVolumePerRevolution
Example value: 0.9
Basically the displacement divided by two for a normal four-stroke engine
- ExhaustBaseProperties
Example value: (1175,1180,0.187,0.222,-0.0000335)
Kelvin, specific heat at constant pressure, delta per unit Kelvin, (k-1)/k (where k is the ratio between specific heats for constant pressure and constant temperature), delta per unit Kelvin
- CompressorTable
Example value: (25000,0.0302)
Spool RPM step, corrected flow step (kg/s corrected to standard temperature and pressure)
Turbo compressor data is defined along RPM steps. In the SkipBarber example, there are steps from 0 - 150.000 RPM. The explanation and comments below are for the definition example of first step at 0 RPM and second step at 25.000 RPM. The full example for all steps can be found below.
Data along 0 RPM compressor map speed line:
- CompressorPressRatio
Example value: (1)
nothing going on at 0 RPM
- CompressorEfficiency
Example value: (0)
probably not much efficiency at 0 RPM either
- CompressorSurgeLineFlow
Example value: 0
defining this is optional (and surge effects aren’t currently implemented)
Data along 25,000 RPM compressor map speed line:
- CompressorPressRatio
Example value: (1.116, 1.115, 1.095, 1.066, 1.035, 1.001, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
per corrected flow
- CompressorEfficiency
Example value: (0.25, 0.45, 0.59, 0.45, 0.40, 0.35, 0.30, 0.25, 0.20, 0.15, 0.10, 0.05, 0.00, 0.00, 0.00, 0.00)
per corrected flow
- CompressorSurgeLineFlow
Example value: 0.019
no description provided
- TurboTestSpeedMult
Example value: 12.0
Dev-only test variable sets turbo speed to the given multiple of the current engine speed at all times
- BoostTurboPressure
Example value: (250000,50000)
Base desired boost pressure, multiplier by EngineBoost setting
- WastegateBoostMeasurement
Example value: 1
0=intake manifold, 1=pre-throttle (this is the default), no other choices at this time
- Wastegate
Example value: (-1500,0.0,1500,1.0)
Minimum relative boost pressure (to desired), minimum wastegate opening, max relative pressure, max opening
- IntakeLeak
Example value: 1e-7
Minimum mass flow
- DumpValve
Example value: (150000,120000,0.000001)
Throttle body pressure drop to fully open dump valve, same for fully closed, dump mass flow per Pascal
And this is what the whole section from the “SkipBarber_engine.ini” file looks like:
TurboInertia=0.000115
TurboFriction=(0.002,2.5)
TurboStaticFrictionWatts=100
TurbineFlowTable=(0,0.00756)
TurbineFlowEffects=(1,0.52)
TurbineFlowEffects=(1.005,0.53)
TurbineFlowEffects=(1.01,0.55)
TurbineFlowEffects=(1.016, 0.58)
TurbineFlowEffects=(1.023, 0.6)
TurbineFlowEffects=(1.031, 0.63)
TurbineFlowEffects=(1.04, 0.65)
TurbineFlowEffects=(1.05, 0.67)
TurbineFlowEffects=(1.061, 0.685)
TurbineFlowEffects=(1.073, 0.697)
TurbineFlowEffects=(1.086, 0.706)
TurbineFlowEffects=(1.1, 0.711)
IntakeVolumePerRevolution=0.9
ExhaustBaseProperties=(1175,1180,0.187,0.222,-0.0000335)
CompressorTable=(25000,0.0302)
// data along 0 RPM compressor map speed line:
CompressorPressRatio=(1)
CompressorEfficiency=(0)
CompressorSurgeLineFlow=0
// data along 25,000 RPM compressor map speed line:
CompressorPressRatio=(1.116, 1.115, 1.095, 1.066, 1.035, 1.001, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1) // per corrected flow
CompressorEfficiency=(0.25, 0.45, 0.59, 0.45, 0.40, 0.35, 0.30, 0.25, 0.20, 0.15, 0.10, 0.05, 0.00, 0.00, 0.00, 0.00) // per corrected flow
CompressorSurgeLineFlow=0.019
// data along 50,000 RPM compressor map speed line:
CompressorPressRatio=(1.31, 1.325, 1.325, 1.31, 1.275, 1.23, 1.17, 1.1, 1.015, 1, 1, 1, 1, 1, 1, 1, 1)
CompressorEfficiency=(0.28, 0.5, 0.61, 0.71, 0.74, 0.68, 0.58, 0.47, 0.4, 0.35, 0.25, 0.15, 0.05, 0, 0, 0, 0)
CompressorSurgeLineFlow=0.037
// data along 75,000 RPM compressor map speed line:
CompressorPressRatio=(1.68, 1.705, 1.72, 1.73, 1.73, 1.71, 1.66, 1.6, 1.495, 1.35, 1.14, 1, 1, 1, 1, 1, 1)
CompressorEfficiency=(0.26, 0.45, 0.55, 0.65, 0.7, 0.75, 0.775, 0.765, 0.68, 0.6, 0.45, 0.3, 0.2, 0.1, 0, 0, 0)
CompressorSurgeLineFlow=0.058
// data along 100,000 RPM compressor map speed line:
CompressorPressRatio=(2.17, 2.2, 2.23, 2.27, 2.31, 2.34, 2.36, 2.36, 2.33, 2.25, 2.12, 1.91, 1.53, 1.05, 1, 1, 1)
CompressorEfficiency=(0.25, 0.33, 0.38, 0.46, 0.53, 0.605, 0.69, 0.75, 0.765, 0.775, 0.75, 0.65, 0.45, 0.23, 0.11, 0, 0)
CompressorSurgeLineFlow=0.08
// data along 125,000 RPM compressor map speed line:
CompressorPressRatio=(3.26, 3.28, 3.31, 3.33, 3.34, 3.35, 3.36, 3.35, 3.33, 3.3, 3.25, 3.17, 2.97, 2.5, 1.58, 1.01, 1)
CompressorEfficiency=(0.24, 0.3, 0.36, 0.55, 0.58, 0.61, 0.63, 0.65, 0.665, 0.68, 0.7, 0.715, 0.68, 0.6, 0.49, 0.25, 0)
CompressorSurgeLineFlow=0.104
// data along 150,000 RPM compressor map speed line:
CompressorPressRatio=(4.22, 4.24, 4.26, 4.29, 4.32, 4.34, 4.36, 4.36, 4.35, 4.33, 4.28, 4.23, 4.1, 3.81, 3.16, 2.05, 1)
CompressorEfficiency=(0.23, 0.29, 0.35, 0.47, 0.49, 0.51, 0.53, 0.55, 0.56, 0.57, 0.58, 0.59, 0.6, 0.58, 0.5, 0.33, 0)
CompressorSurgeLineFlow=0.13
//TurboTestSpeedMult=12.0
BoostTurboPressure=(250000,50000)
WastegateBoostMeasurement=1
Wastegate=(-1500,0.0,1500,1.0)
IntakeLeak=1e-7
DumpValve=(150000,120000,0.000001)