Monday, May 9, 2011

F1 2011 Turkey Race - Fuel Corrected Laptimes

When in-race refuelling was still part of the game, calculating fuel strategies was one of the things the F1 amateur strategist could try to play along with. (For a summary of what was involved, see the Royal Academy of Engineering/McLaren worksheet on Formula One Fuel Strategy [PDF].)

Fuel loads still have a part to play now, of course: for every lap travelled, the car uses up fuel, gets lighter, and as a result travels faster (the available kinetic energy has less mass to accelerate around the circuit). Another way of thinking about it is that a fuel weight penalty apples in the form of an increase in laptime for each extra kilogram of mass carried. At the start of a race, when the car is heaviest, a large penalty applies. At the end of the race, when the car is lightest, the penalty is small. If we know how much fuel a car burns per lap, and what the approximate time saving is per unit mass, we can calculate the "fuel corrected" laptimes.

The Williams Turkey preview suggests that the Fuel Consumption round the circuit is 2.7kg / lap with a Fuel Laptime Penalty of 0.3 s / 10kg.

That is: fuelConsumption=2.7, fuelPenalty=0.03, fuelLapsWeightPenalty=mass of fuel * fuelPenalty = (fuelConsumption * laps worth of fuel) * fuelPenalty



We can see how at the start of the race there is a approximately a 4.5 second time penalty due to the weight of the fuel at the start of the race compared to at the end. If we take this time from the laptimes we get a fuel corrected laptime, shown here for VET:



(The label also shows the tyre strategy, as published by Pirellli.)

Note how the unadjusted laptime comes down naturally over the course of the race as the fuel weight penalty is burned off. When we take the fuel weight penalty into account, we get the fuel corrected laptime, which shows an increasing gradient towards the end of each stint as the tyres go off. (It's particulary noticeable in the final stint.) [UPDATE: In a comment, HenningO suggests this final slowing is probably just VET easing off, rather than tyres going off...That's probably right, isn't it?! Doh!]

Another correction we can make is to subtract the fuel corrected fastest laptime for each driver from their laptimes. (That is, take their fastest race lap, caculate the fuel penalty, and subtract that to give a fuel corrected fastest laptime.) If we take this from each laptime, we can see whether the fastest lap was actually the fastest lap (taking into account the fuel penalty).

The lowest fuel and fast lap fuel corrected laptime is actually (fuel weight penalty considered) the fastest lap.

Here are the fuel and fast lap fuel corrected laptimes for HAM, BUT and AMB, all of whom had different tyre strategies:



Note how AMB's soft tyres go off (the corrected laptimes increase towards the end of the corresponding stints), but the hard tyres last well. We also see how BUT's tyres aren't doing him any favours in the final laps of the race.

(Note that the fuel corrected laptime chart could be produced live/during a race from published laptimes, Do any F1 sites publish such a live chart during races?)

Howto make the graphs

The generic fuel penalty chart was plotted using Gnuplot:

gnuplot> set term x11
//My mac doesn't display anything with the aqua setting?
gnuplot> set datafile separator ","
//my data file is CSV, so define the separator, just in case...
gnuplot> set xrange [1:58]
gnuplot> set xlabel "Lap"
gnuplot> set ylabel "Fuel Weight Time Penalty"
gnuplot> plot 0.03*(58-x)*2.7 title "Fuel mass * fuel weight penalty"


The fuel adjusted lap time chart was generated from a CSV file (turlapTimeFuel.csv) of the form:

"Driver,Lap,Lap Time,Fuel Adjusted Laptime,Fuel and fastest lap adjusted laptime
25,1,106.951,102.334,9.73
25,2,99.264,94.728,2.124"


using the following gnuplot command (howto):

plot 'turlapTimeFuel.csv' using ($1==3 ? $2:1/0):5 with lines title "HAM Su | Su(9) Su(20) Hn(34) Hn(46)",'turlapTimeFuel.csv' using ($1==4 ? $2:1/0):5 with lines title "BUT Su | Su(13) Su(26) Hn(39)",'turlapTimeFuel.csv' using ($1==25 ? $2:1/0):5 with lines title "AMB Sn Su(16) Hn(33)"

11 comments:

  1. For the to-do list: it may be interesting to get the fuel corrected lap times for each driver for each stint and then group them by tyre type to see whether or not their are common trends within and across tyre types. i.e. ca we use the data to develop a tyre model? (For more on developing tyre models from lap times, see e.g. Ian Horlock, "Prediction of Formula One Results Using Driver Characteristics" http://www.enm.bris.ac.uk/teaching/projects/2008_09/ih5137/ )

    ReplyDelete
  2. Nice work Tony, I like how you include the "How To" parts!

    Just a quick note on your VET analysis, what we see in his last laps is something very commonly seen in timing charts. At the end of the race, the leader reduces the pace to ensure a finish (plus I think he ran into more traffic also). So I would disagree with your analysis that his tires were going off in the last laps... :)

    ReplyDelete
  3. I was wondering about a display (might need some manual plotting) showing a cumulative time per driver, but then almost rotating the display (or putting the vertical axis on a sliding scale from left to right) so some "mean cumulative time" is shown as a horizontal line.

    Perhaps a better way to explain it would be plot each drivers cumulative time at the end of each lap, but then shift the display of each column down by an amount such that some point (say the mid cumulative time between 1st and 10th) was at the "0" point on the vertical axis. This would then read somewhat like a lap chart but show how the gaps between drivers changed (should be easy to see how A catches B at a certain rate but then gets caught behind them for a few laps) and how well chosen pit stops were for traffic.

    If you could also show tyre compound in use (perhaps solid line for option, dotted line for prime) then I think this might be an interesting view, even if displaying a full grid at once got a bit too much.

    Ping me (@schmerg) for a better explanation if required :)

    ReplyDelete
  4. @HenningO ah - good point...:-) One thing I have been considering is a chart that compares fuel adjusted laptimes on different tyres across drivers to see if we can get a crude guess for tyres based on times?

    @Tim - I have some elapsed time data that can show how time to leader changes over the race for each driver, and have also been looking at calculating to race position in front and behind (easily derived from elapsed time) as well as time to car on track in front and behind. (This latter one was really confusing me but I think I have a plan for getting that now!) Does your suggestion correspond to plotting elapsed time deltas/gap between drivers based on race position? So e.g. time between leader and second place, between second and third place, etc?

    ReplyDelete
  5. Yes, I suppose it is really a graph of absolute delta or gap per lap, but rather than having the leader or last as the 0 axis , instead have something like a notional "number of laps x average speed for the entire race of the person who came 10th" as the zero axis (and plotting each car's delta against that time), so the lines will diverge above and below the graph, and the whole thing will have a general trend upwards (showing fuel effect) with dips for pit stops.

    I'd hope you'd be able to see race position, lap time (angle of line), tyre choice (line hatch type), distance covered on tyres, gaps to other cars... mway well be overly noisy but perhaps has sections that, when enlarged, show something useful.

    ReplyDelete
  6. @Tim That in part reminds me of the sort of thing James Allen does with the Race History graph, as explained in http://www.jamesallenonf1.com/2011/04/a-deep-dive-into-the-strategies-from-the-chinese-grand-prix/ (and also used in http://www.jamesallenonf1.com/2011/05/why-the-turkish-gp-turned-out-as-it-did-strategy-analysis/ ): "Race History. The zero line is simply the race winner’s average lap time (total race time divided by the number of race laps). This is why his curve can go above the line if he’s lapping faster than his average, and below the line if he’s slower than his average or doing a pitstop."

    ReplyDelete
  7. @Tony - ah yes... but of course this produces a tight knit bundle in the middle of the graph (centre of the dip).

    (Graph 1 has something wrong as Vettel is ALWAYS below the 0 line except the first and last lap, and it seems to imply the opening laps with full tanks were the fastest, but the general point matches I think).

    If the zero line was Petrov's time for example (in that he came 10th), or even a dynamic display where you could choose which driver was the zero line, then I think the bunching might be clearer, and maybe an option to allow for fuel-adjustment or not...

    ReplyDelete
  8. Awesome race at Monte carlo 2011. Adrian Sutil's puncture changed the scene of results.
    he was doing pretty well at 4th spot for 19 laps.

    ReplyDelete
  9. Interesting analysis Tony, well done. It would be great to see the fuel corrected fastest laps of each driver on each tyre compound and see also the effect of his positions in the race.

    ReplyDelete
  10. @sundar Thanks.. I'm trying to come up with a sensible chart to show that sort of thing... I was wondering whether to show data by driver, stint and tyre would be meaningful, eg to see whether we can distinguish tyre compound from the laptimes.

    I'm trying to also factor in race position might also be interesting... will mull over how to do that? (One way I have explored is like this: "F1 2011 Turkey Race Lap Chart Showing Tyre Strategy" [ http://f1datajunkie.blogspot.com/2011/05/f1-2011-turkey-race-lap-chart-showing.html ] )

    ReplyDelete
  11. Best Portable Generators of 2018 ... Updated Aug 29, 2018 ... It has one of the longest continues run times and the largest fuel tank. ..... click resources

    ReplyDelete

There seem to be a few issues with posting comments. I think you need to preview your comment before you can submit it... Any problems, send me a message on twitter: @psychemedia