Simuv4.1: Change temperature window effect to be a progressive scale, rather than giving max grip whenever within optimal range

git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@9277 30fe4595-0a0c-4342-8851-515496e4dcbd
This commit is contained in:
harunasan 2024-01-24 07:34:29 +00:00
parent 075b34298f
commit 011c610fcd
1 changed files with 12 additions and 4 deletions

View File

@ -993,16 +993,24 @@ void SimWheelUpdateTire(tCar *car, int index)
// Temperature window.
tdble di;
// Ratio modifier for when temp is under minimal optimal
// operating temp (f.e. below 70 C for a 90 deg optimal)
tdble diRatio;
if (wheel->Ttire < wheel->Topt - 20)
{
diRatio = (wheel->Ttire - Tair) / (Tair - (wheel->Ttire - 20)) * 0.125;
}
// Racing tires typically have a roughly 10-20C window
// where they achieve most of their optimal grip. This
// is a slightly simplified implementation.
// where they achieve most of their optimal grip.
// When within this "ideal window", grip changes are less extreme.
if (wheel->Ttire < (wheel->Topt - 20))
{
di = (wheel->Ttire - wheel->Topt - 20) / (wheel->Topt - Tair);
di = ((wheel->Ttire - wheel->Topt - 20) / (wheel->Topt - Tair)) + diRatio;
}
else if (wheel->Ttire <= wheel->Topt)
{
di = 0.0;
di = (wheel->Ttire - wheel->Topt) / (wheel->Topt - (wheel->Topt - 20)) * 0.125;
}
else
{