コード例 #1
0
        private string[] CreateCSV(CombinedAirfoilsGroup combinedAirfoilsGroup)
        {
            var combinedAirfoils = combinedAirfoilsGroup.CombinedAirfoils;
            var length           = combinedAirfoils.Length;

            string[] coordinateCSV = new string[length];

            for (int i = 0; i < length; i++)
            {
                coordinateCSV[i] = General.CsvManager.CreateCSV(combinedAirfoils[i].InterpolatedCoordinate.ToDouleArray());
            }

            return(coordinateCSV);
        }
コード例 #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="optParams"></param>
        /// <param name="basisAirfoils"></param>
        /// <returns></returns>
        private CombinedAirfoilsGroup AssignParameters(double[][] optParams, General.BasisAirfoils basisAirfoils)
        {
            // Format Check
            if (optParams.Length == basisAirfoils.NumberOfAirfoils)
            {
                var length = basisAirfoils.NumberOfAirfoils;
                combinedAirfoilsGroup = new CombinedAirfoilsGroup(basisAirfoils);

                // Create optimized Coefficients
                var optCoefficients = new CoefficientOfCombination(General.ArrayManager.ConvertJuggedArrayToArray(optParams));

                // Combine airfoil
                AirfoilsMixer airfoilsMixer = new AirfoilsMixer(basisAirfoils, optCoefficients);
                airfoilsMixer.CombineAirfoils();

                // Assign combined airfoils into the CombinedAirfoilsGroup
                combinedAirfoilsGroup.AddRange(airfoilsMixer.CombinedAirfoils);
            }

            return(combinedAirfoilsGroup);
        }