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)