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); }
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 }); }