Exemplo n.º 1
0
 public OilInfo()
 {
     OilPressure           = new Pressure();
     OptimalOilTemperature = new OptimalQuantity <Temperature>()
     {
         ActualQuantity      = Temperature.Zero,
         IdealQuantity       = Temperature.FromCelsius(100),
         IdealQuantityWindow = Temperature.FromCelsius(15),
     };
 }
Exemplo n.º 2
0
        public WaterInfo()
        {
            //WaterTemperature = Temperature.Zero;
            OptimalWaterTemperature = new OptimalQuantity <Temperature>()
            {
                ActualQuantity      = Temperature.Zero,
                IdealQuantity       = Temperature.FromCelsius(90),
                IdealQuantityWindow = Temperature.FromCelsius(10),
            };

            WaterPressure = Pressure.Zero;
        }
Exemplo n.º 3
0
        public WheelInfo()
        {
            _tyreVisualType  = string.Empty;
            BrakeTemperature = new OptimalQuantity <Temperature>()
            {
                IdealQuantity       = Temperature.FromCelsius(350),
                IdealQuantityWindow = Temperature.FromCelsius(200),
                ActualQuantity      = Temperature.Zero
            };
            TyrePressure = new OptimalQuantity <Pressure>()
            {
                IdealQuantity       = Pressure.Zero,
                IdealQuantityWindow = Pressure.Zero,
                ActualQuantity      = Pressure.Zero
            };
            LeftTyreTemp = new OptimalQuantity <Temperature>()
            {
                IdealQuantity       = Temperature.FromCelsius(OptimalTemperature.InCelsius),
                IdealQuantityWindow = Temperature.FromCelsius(OptimalTemperatureWindow.InCelsius),
            };
            RightTyreTemp = new OptimalQuantity <Temperature>()
            {
                IdealQuantity       = Temperature.FromCelsius(OptimalTemperature.InCelsius),
                IdealQuantityWindow = Temperature.FromCelsius(OptimalTemperatureWindow.InCelsius),
            };
            CenterTyreTemp = new OptimalQuantity <Temperature>()
            {
                IdealQuantity       = Temperature.FromCelsius(OptimalTemperature.InCelsius),
                IdealQuantityWindow = Temperature.FromCelsius(OptimalTemperatureWindow.InCelsius),
            };

            TyreCoreTemperature = new OptimalQuantity <Temperature>()
            {
                IdealQuantity       = Temperature.FromCelsius(OptimalTemperature.InCelsius),
                IdealQuantityWindow = Temperature.FromCelsius(OptimalTemperatureWindow.InCelsius),
            };

            TyreWear = new TyreWear()
            {
                ActualWear = 0.0, NoWearWearLimit = 0.03, LightWearLimit = 0.25, HeavyWearLimit = 0.7
            };
            TyreType = string.Empty;

            RideHeight         = Distance.FromMeters(0);
            SuspensionTravel   = Distance.FromMeters(0);
            SuspensionVelocity = Velocity.Zero;
            Camber             = new Angle();
            TyreLoad           = new Force();
        }
        private void CheckAndRetrieveIdealQuantities(DriverInfo driver)
        {
            if (!string.IsNullOrEmpty(_lastCarName) && _lastCarName == driver.CarName && _lastTyreCompound == driver.CarInfo.WheelsInfo.AllWheels[0].TyreType)
            {
                return;
            }

            _optimalPressureFront    = GetIdealTyrePressureFront(driver);
            _optimalTemperatureFront = GetIdealTyreTemperaturesFront(driver);

            _optimalPressureRear    = GetIdealTyrePressureRear(driver);
            _optimalTemperatureRear = GetIdealTyreTemperaturesRear(driver);

            _lastCarName      = driver.CarName;
            _lastTyreCompound = driver.CarInfo.WheelsInfo.AllWheels[0].TyreType;
        }
        private void FillWheelIdealQuantities(WheelInfo wheel, OptimalQuantity <Pressure> optimalPressure, OptimalQuantity <Temperature> optimalTemperature)
        {
            if (optimalPressure != null)
            {
                wheel.TyrePressure.IdealQuantity.InKpa       = optimalPressure.IdealQuantity.InKpa;
                wheel.TyrePressure.IdealQuantityWindow.InKpa = optimalPressure.IdealQuantityWindow.InKpa;
            }

            if (optimalTemperature != null)
            {
                wheel.TyreCoreTemperature.IdealQuantity.InCelsius       = optimalTemperature.IdealQuantity.InCelsius;
                wheel.TyreCoreTemperature.IdealQuantityWindow.InCelsius = optimalTemperature.IdealQuantityWindow.InCelsius;

                wheel.LeftTyreTemp.IdealQuantity.InCelsius       = optimalTemperature.IdealQuantity.InCelsius;
                wheel.LeftTyreTemp.IdealQuantityWindow.InCelsius = optimalTemperature.IdealQuantityWindow.InCelsius;

                wheel.CenterTyreTemp.IdealQuantity.InCelsius       = optimalTemperature.IdealQuantity.InCelsius;
                wheel.CenterTyreTemp.IdealQuantityWindow.InCelsius = optimalTemperature.IdealQuantityWindow.InCelsius;

                wheel.RightTyreTemp.IdealQuantity.InCelsius       = optimalTemperature.IdealQuantity.InCelsius;
                wheel.RightTyreTemp.IdealQuantityWindow.InCelsius = optimalTemperature.IdealQuantityWindow.InCelsius;
            }
        }