private static void SetValidAircraftData(AircraftData data)
        {
            var random = new Random(21);

            data.WingSurfaceArea         = random.NextDouble();
            data.AspectRatio             = random.NextDouble();
            data.OswaldFactor            = random.NextDouble();
            data.MaximumLiftCoefficient  = random.NextDouble();
            data.LiftCoefficientGradient = random.NextDouble();
            data.ZeroLiftAngleOfAttack   = random.NextAngle();
            data.RestDragCoefficient     = random.NextDouble();
            data.RestDragCoefficientWithEngineFailure = random.NextDouble();
            data.MaximumPitchAngle                   = random.NextAngle();
            data.PitchGradient                       = random.NextAngle();
            data.RollResistanceCoefficient           = random.NextDouble();
            data.RollResistanceWithBrakesCoefficient = random.NextDouble();
            data.TakeOffWeight                       = random.NextDouble();
        }
예제 #2
0
        /// <summary>
        /// Creates an <see cref="KernelAircraftData"/> based on its input arguments.
        /// </summary>
        /// <param name="aircraftData">The <see cref="Data.AircraftData"/> to create an
        /// <see cref="KernelAircraftData"/> for.</param>
        /// <param name="engineData">The <see cref="EngineData"/> to create the <see cref="KernelAircraftData"/>
        /// for.</param>
        /// <returns>An <see cref="KernelAircraftData"/>.</returns>
        /// <exception cref="ArgumentNullException">Thrown when any argument is <c>null</c>.</exception>
        /// <exception cref="CreateKernelDataException">Thrown when the <see cref="KernelAircraftData"/>
        /// could not be created.</exception>
        public static KernelAircraftData Create(AircraftData aircraftData, EngineData engineData)
        {
            if (engineData == null)
            {
                throw new ArgumentNullException(nameof(engineData));
            }

            AerodynamicsData aerodynamicsData = AerodynamicsDataFactory.Create(aircraftData);

            try
            {
                return(new KernelAircraftData(engineData.NrOfEngines, engineData.ThrustPerEngine, aircraftData.TakeOffWeight,
                                              aircraftData.PitchGradient, aircraftData.MaximumPitchAngle,
                                              aircraftData.RollResistanceCoefficient, aircraftData.RollResistanceWithBrakesCoefficient,
                                              aerodynamicsData));
            }
            catch (ArgumentException e)
            {
                throw new CreateKernelDataException(e.Message, e);
            }
        }