public void SynthesizeAirfoil(Airfoil.AirfoilManager[] airfoils, Double[] coefficients)
        {
            // Format Check
            var length = airfoils.Length;

            if (length != coefficients.Length)
            {
                throw new FormatException("Number of basis airfoils and coefficients did not match.");
            }


            Double[,] newCoordinate = new Double[length, 2];
            for (int i = 0; i < length; i++)
            {
                var basis = airfoils[i].ResizedCoordinate;

                newCoordinate[i, 0] += basis[i].X;
                newCoordinate[i, 1] += coefficients[i] * basis[i].Z;
            }
            var sAirfoil = new Airfoil.AirfoilCoordinate();

            sAirfoil.Import(newCoordinate);

            SynthesizedAirfoil = new Airfoil.AirfoilManager(sAirfoil);
        }
Exemple #2
0
        public new Airfoil.AirfoilCoordinate Analyze(String filePath)
        {
            //instantiate
            AirfoilCoordinate = new Airfoil.AirfoilCoordinate();

            // Get Double type Array by analyzing CSV file
            var dataArray = base.analyze(filePath);

            if (dataArray == null)
            {
                return(null);                                //null check
            }
            //Create AirfoilCoordinate
            AirfoilCoordinate.Import(dataArray);
            return(AirfoilCoordinate);
        }
        private static void InitializeTestVariables(out Airfoil.CoefficientOfCombination coefficients, out General.BasisAirfoils basisAirfoils)
        {
            StreamReader sr1 = new StreamReader(@"DAE-11.csv");
            StreamReader sr2 = new StreamReader(@"NACA4412.csv");

            var dae  = General.CsvManager.ConvertCsvToArray(sr1.ReadToEnd());
            var naca = General.CsvManager.ConvertCsvToArray(sr2.ReadToEnd());

            var daeCoordinate  = new Airfoil.AirfoilCoordinate();
            var nacaCoordinate = new Airfoil.AirfoilCoordinate();

            daeCoordinate.Import(dae);
            nacaCoordinate.Import(naca);

            var DAE11    = new Airfoil.AirfoilManager(daeCoordinate);
            var NACA4412 = new Airfoil.AirfoilManager(daeCoordinate);

            var coef = new double[][] { new[] { 0.7, 0.3, 0.6 }, new[] { 0.3, 0.7, 0.4 } };

            coefficients  = new Airfoil.CoefficientOfCombination(General.ArrayManager.ConvertJuggedArrayToArray(coef));
            basisAirfoils = new General.BasisAirfoils(new[] { DAE11, NACA4412 });
        }