iRacing – Updates seizoen 4 – Dynamisch baanmodel & regen bevestigd

Onlangs waren Dan Garrison (Senior Software Engineer iRacing) en Kevin Bobbitt (Directeur Marketing iRacing) te horen op de wekelijkste podcast waar iRacing downshift op enkele opwindende veranderingen aan het seizoen 4. Ze bespraken hier het dynamische baanmodel voor de iRacing online racedienst. De show werd georganiseerd door marketingmanager Greg West van iRacing.

In navolging van de interessante podcast ging Dan Garrison dieper in op de technische aspecten van de aankomende bijgewerkte trackdynamiek van iRacing.

De eerste implementatie van het dynamische trackmodel was dat de server oppervlaktetemperaturen over het hele circuit handhaafde en deze informatie naar de clients stuurde. De temperatuur van de ene plek naar de andere zou variëren afhankelijk van dingen zoals de albedo van het oppervlak, de oriëntatie van het oppervlak ten opzichte van de zon, de intensiteit van zonnestraling als een functie van de zonnehoek, schaduwen, wolken en uiteindelijk van de invloed van auto’s. Gebieden van inactiviteit in de schaduw zouden koel zijn, gebieden in de zon zouden warm zijn, en overal waar auto’s warmte van motoren dumpen en banden verder zouden opwarmen. Dit gaf ons een model dat actief zou reageren op veel van de real-life factoren die men zou tegenkomen, en een aantal voorwaarden bieden om mee te werken als race-ingenieur en / of coureur.

Toen het dynamische nummer voor het eerst werd uitgebracht, was het weer in de sim nogal statisch: luchttemperatuur en wind zouden een beetje kunnen verschuiven als de instellingen dit toelaten, maar de zon bewoog niet en de wolken ook niet. Dit betekende dat het mogelijk was om de evenwichtstemperatuur van een gebied op de grond te berekenen, omdat het gewoon die temperatuur was die een perfecte balans creëerde van zonne-energie die werd toegevoegd en de energie die verloren ging door geleiding en convectie. Omdat het weer bekend was en de lucht statisch was, zouden er, als er niemand op het spoor reed, de temperatuur vrijwel onveranderd blijven, op enkele kleine veranderingen na die ongeveer overeenkomen met veranderingen in de omgevingstemperatuur.

Toen de zon en de wolken eenmaal begonnen te bewegen, werd echter een van de belangrijkste tekortkomingen van dit model duidelijk: de server hield alleen de temperatuur op het bovenoppervlak bij. Als gevolg hiervan, terwijl de zon ondergaat of als er een wolk voorbij komt, koelt de temperatuur van het spoor snel af met de binnenkomende zonne-energie weg. Fluctuatie in de snelheid van warmteverlies werd geïntroduceerd, als een functie van de tijd van het jaar en het tijdstip van de dag, om te proberen rekening te houden met wat er onder de oppervlakte zou gebeuren. Het was echter een ruwe benadering van wat er echt aan de hand was en de totale variatie in de koelsnelheid werd relatief klein gehouden om vreemd gedrag te voorkomen.

De nieuwe implementatie van het dynamische spoor lost dit op door de temperatuur in meerdere lagen onder de grond te handhaven, wat betekent dat de oppervlaktetemperatuur zich realistischer zal gedragen. Met het nieuwe model zal warmte die is opgeslagen in de lagen eronder van uren zonlicht zijn weg terug naar boven en het oppervlak verwarmen. Evenzo gaat de opgebouwde warmte van auto’s langer mee als er veel ronden zijn gereden in plaats van slechts een handvol. Het eindresultaat in vergelijking met het originele model is dat de temperaturen doorgaans koeler zijn in de ochtend en vroege middag, maar warmer in de late middag. Maar over het algemeen zal de meerlagige benadering de temperatuur op het oppervlak enigszins stabiliseren, omdat het in de meeste omstandigheden langzamer zal veranderen.

Anders gezegd, de lagen laten een realistische opname van de geschiedenis toe die het oude model eenvoudig niet kon weerspiegelen. Denk vooral aan een warme dag met een vleugje een moesson in de late namiddag die slechts een zeer korte, milde regenbui is: in het oude model zou de temperatuur van het spoor zijn gekelderd en koud zijn gebleven, zelfs nadat al het water was verdwenen. Met het nieuwe model kan de warmte die vooraf in de onderste lagen was opgeslagen langzaam naar het oppervlak terugkeren en een deel van de verloren temperatuur terugwinnen, zelfs als de lucht troebel blijft. In feite werkte het door dit soort scenario dat de update voor het dynamische spoormodel motiveerde.

Een van de problemen die in deze benadering moeten worden opgelost, is de initialisatie van de temperatuur in de verschillende lagen. Als de lagen verkeerd zijn ingesteld, zal de temperatuur aan het oppervlak drijven en onrealistisch fluctueren totdat de dingen uiteindelijk naar de juiste temperaturen bezinken. Om dit aan te pakken, maakt de server een aantal monsters voor elk type materiaal dat op het spoor wordt gevonden en gebruikt een empirische formule om de temperatuur in elke laag te schatten die rekening houdt met de tijd van het jaar, de thermische geleidbaarheid van het materiaal en de diepte van elk monsterpunt waar de temperatuur wordt gevolgd. Het gaat dan nog een stap verder en simuleert het weer voor een paar dagen voordat het evenement daadwerkelijk begint, waarbij het temperatuurprofiel van elk monster wordt bijgewerkt. Dit zorgt ervoor dat de lagen de juiste temperaturen hebben, gegeven de omstandigheden en zich correct zullen gedragen zodra de eerste sessie begint.

Het gaat dan verder in de tijd en slaat periodiek extra datapunten op, zodat eventuele extra sessies die na een vertraging beginnen ook beginnen met de juiste temperaturen op alle diepten. Als een evenement ‘s ochtends een training van twee uur heeft gepland, die middag kwalificeert en een race de volgende dag, zal het temperatuurmodel dat afhandelen omdat het het weer heeft uitgevoerd en de veranderingen al heeft gemodelleerd. Wanneer een sessie begint en een stuk grond de initiële set van temperaturen moet weten, vindt het de gegevens voor zijn materiaalsoort en de huidige tijd en gebruikt het zijn oriëntatie op de grond om te kiezen en te interpoleren tussen een paar opgeslagen monsters.

Dit helpt bij het verhelpen van een tweede tekortkoming van het originele model die duidelijk werd met de bewegende lucht: aan het begin van een sessie, als er een behoorlijke hoeveelheid tijd was verstreken sinds het einde van de vorige, keek de server eenvoudig naar de hoeveelheid zonne-energie energie die op dat moment binnenkomt om de starttemperatuur te berekenen. Als de zon achter een wolk was, probeerde het niet te raden hoe lang of hoe vaak het achter de wolk was geweest, noch simuleerde het de omstandigheden voorafgaand aan de sessie. Als zodanig zou het circuit in dit geval meestal onrealistisch cool beginnen, alsof de cloud er de hele dag was. In het nieuwe model, als de zon meestal op dat moment aan het uitkomen was, zal dat worden vastgelegd en de baan zal nog steeds heet zijn maar afkoelen.

Het nieuwe model heeft ook een veel betere interactie tussen water en temperatuur, omdat de verdamping en afvoer van warmte uit dat proces nauwkeuriger wordt berekend dan voorheen. Een onverharde weg in constante schaduw, bijvoorbeeld in Oklahoma, zal typisch een baantemperatuur hebben die lager is dan die van de omringende lucht vanwege de warmte verloren door verdamping. Natuurlijk varieert de verdampingssnelheid afhankelijk van de temperatuur van het oppervlak en de lucht, de vochtigheid, de wind en de beschikbaarheid van “vrij” water aan het oppervlak. Op een koele, vochtige, windstille dag zou je verwachten dat de temperatuur van het spoor dicht bij de luchttemperatuur ligt, terwijl je op een warme, droge, winderige dag verschillende graden van verschil tussen de lucht en de grond zou verwachten. De upgrade naar het dynamische spoor biedt dit gedrag als een natuurlijk gevolg van het verbeterde verdampingsmodel.

Hoewel deze wijzigingen in het baanmodel zijn geïnspireerd door de verwachting van regen in de sim, is het hopelijk duidelijk dat de update over de hele linie gunstig is. Door de warmteoverdracht tussen het oppervlak en de ondergrond te modelleren, wordt de reactie van de temperatuur van het spoor als gevolg van verschillende gebeurtenissen beïnvloed door wat er al is gebeurd. Als zodanig kan de oppervlaktetemperatuur relatief persistent of variabel zijn, afhankelijk van de geschiedenis die in wezen is opgeslagen in de onderliggende lagen. Ten slotte, door het weer vooruit te laten lopen tijdens de initialisatie en de resultaten vast te leggen, is de server beter voorbereid om sessieovergangen af ​​te handelen die grote gaten in de tijd kunnen bevatten en het nummer in de juiste staat te starten.

Bron: iRacing