diff --git a/aerodynamic_analysis/src/methods/semiEmpiricalHighLiftAdaption.cpp b/aerodynamic_analysis/src/methods/semiEmpiricalHighLiftAdaption.cpp index d2a937d76882b39f30c6ffdc99aeb87a28627327..91a6468e73003a0e7f59ba2f7d747256950ee7ee 100644 --- a/aerodynamic_analysis/src/methods/semiEmpiricalHighLiftAdaption.cpp +++ b/aerodynamic_analysis/src/methods/semiEmpiricalHighLiftAdaption.cpp @@ -106,41 +106,37 @@ void semiEmpiricalHighLiftAdaption::processHighLiftDevices() { leadingEdgeHighLiftDevices.at(deviceID).innerSpan_abs = getHalfSpan(theMainWing) * fabs(leadingEdgeHighLiftDevices.at(deviceID).innerSpan_rel); leadingEdgeHighLiftDevices.at(deviceID).outerSpan_abs = getHalfSpan(theMainWing) * fabs(leadingEdgeHighLiftDevices.at(deviceID).outerSpan_rel); leadingEdgeHighLiftDevices.at(deviceID).span = fabs(leadingEdgeHighLiftDevices.at(deviceID).outerSpan_abs - leadingEdgeHighLiftDevices.at(deviceID).innerSpan_abs); - leadingEdgeHighLiftDevices.at(deviceID).c_rel_avg = 0.25 * (leadingEdgeHighLiftDevices.at(deviceID).innerRelFwdChordPosition - + leadingEdgeHighLiftDevices.at(deviceID).innerRelAftChordPosition - + leadingEdgeHighLiftDevices.at(deviceID).outerRelFwdChordPosition - + leadingEdgeHighLiftDevices.at(deviceID).outerRelAftChordPosition); + leadingEdgeHighLiftDevices.at(deviceID).c_rel_avg = 0.5 * ((leadingEdgeHighLiftDevices.at(deviceID).innerRelAftChordPosition + - leadingEdgeHighLiftDevices.at(deviceID).innerRelFwdChordPosition) + + (leadingEdgeHighLiftDevices.at(deviceID).outerRelAftChordPosition + - leadingEdgeHighLiftDevices.at(deviceID).outerRelFwdChordPosition)); double delta_x_rel_HL = 0.02; // distance hinge line (apparently from Raymer..) leadingEdgeHighLiftDevices.at(deviceID).x_rel_hinge = leadingEdgeHighLiftDevices.at(deviceID).c_rel_avg - delta_x_rel_HL; leadingEdgeHighLiftDevices.at(deviceID).phiHL = getLocalSweep(theMainWing, 0.5 * (leadingEdgeHighLiftDevices.at(deviceID).innerSpan_abs + leadingEdgeHighLiftDevices.at(deviceID).outerSpan_abs), leadingEdgeHighLiftDevices.at(deviceID).x_rel_hinge, "DEGREE"); - double chordInboard = getLocalChordLength(theMainWing, leadingEdgeHighLiftDevices.at(deviceID).innerSpan_abs) - * fabs(leadingEdgeHighLiftDevices.at(deviceID).innerRelAftChordPosition - leadingEdgeHighLiftDevices.at(deviceID).innerRelFwdChordPosition); - double chordOutboard = getLocalChordLength(theMainWing, leadingEdgeHighLiftDevices.at(deviceID).outerSpan_abs) - * fabs(leadingEdgeHighLiftDevices.at(deviceID).outerRelAftChordPosition - leadingEdgeHighLiftDevices.at(deviceID).outerRelFwdChordPosition); + double chordInboardWing = getLocalChordLength(theMainWing, leadingEdgeHighLiftDevices.at(deviceID).innerSpan_abs); + double chordOutboardWing = getLocalChordLength(theMainWing, leadingEdgeHighLiftDevices.at(deviceID).outerSpan_abs); // area is calculated for both devices, because symmetry - leadingEdgeHighLiftDevices.at(deviceID).coveredA = leadingEdgeHighLiftDevices.at(deviceID).span * (chordInboard + chordOutboard); + leadingEdgeHighLiftDevices.at(deviceID).coveredA = leadingEdgeHighLiftDevices.at(deviceID).span * (chordInboardWing + chordOutboardWing); } for (size_t deviceID(0); deviceID < trailingEdgeHighLiftDevices.size(); ++deviceID) { trailingEdgeHighLiftDevices.at(deviceID).innerSpan_abs = getHalfSpan(theMainWing) * fabs(trailingEdgeHighLiftDevices.at(deviceID).innerSpan_rel); trailingEdgeHighLiftDevices.at(deviceID).outerSpan_abs = getHalfSpan(theMainWing) * fabs(trailingEdgeHighLiftDevices.at(deviceID).outerSpan_rel); trailingEdgeHighLiftDevices.at(deviceID).span = fabs(trailingEdgeHighLiftDevices.at(deviceID).outerSpan_abs - trailingEdgeHighLiftDevices.at(deviceID).innerSpan_abs); - trailingEdgeHighLiftDevices.at(deviceID).c_rel_avg = 0.25 * (trailingEdgeHighLiftDevices.at(deviceID).innerRelFwdChordPosition - + trailingEdgeHighLiftDevices.at(deviceID).innerRelAftChordPosition - + trailingEdgeHighLiftDevices.at(deviceID).outerRelFwdChordPosition - + trailingEdgeHighLiftDevices.at(deviceID).outerRelAftChordPosition); + trailingEdgeHighLiftDevices.at(deviceID).c_rel_avg = 0.5 * ((trailingEdgeHighLiftDevices.at(deviceID).innerRelAftChordPosition + - trailingEdgeHighLiftDevices.at(deviceID).innerRelFwdChordPosition) + + (trailingEdgeHighLiftDevices.at(deviceID).outerRelAftChordPosition + -trailingEdgeHighLiftDevices.at(deviceID).outerRelFwdChordPosition)); double delta_x_rel_HL = 0.02; // distance hinge line (apparently from Raymer..) trailingEdgeHighLiftDevices.at(deviceID).x_rel_hinge = 1. - trailingEdgeHighLiftDevices.at(deviceID).c_rel_avg + delta_x_rel_HL; trailingEdgeHighLiftDevices.at(deviceID).phiHL = getLocalSweep(theMainWing, 0.5 * (trailingEdgeHighLiftDevices.at(deviceID).innerSpan_abs + trailingEdgeHighLiftDevices.at(deviceID).outerSpan_abs), trailingEdgeHighLiftDevices.at(deviceID).x_rel_hinge, "DEGREE"); - double chordInboard = getLocalChordLength(theMainWing, trailingEdgeHighLiftDevices.at(deviceID).innerSpan_abs) - * fabs(trailingEdgeHighLiftDevices.at(deviceID).innerRelAftChordPosition - trailingEdgeHighLiftDevices.at(deviceID).innerRelFwdChordPosition); - double chordOutboard = getLocalChordLength(theMainWing, trailingEdgeHighLiftDevices.at(deviceID).outerSpan_abs) - * fabs(trailingEdgeHighLiftDevices.at(deviceID).outerRelAftChordPosition - trailingEdgeHighLiftDevices.at(deviceID).outerRelFwdChordPosition); + double chordInboardWing = getLocalChordLength(theMainWing, trailingEdgeHighLiftDevices.at(deviceID).innerSpan_abs); + double chordOutboardWing = getLocalChordLength(theMainWing, trailingEdgeHighLiftDevices.at(deviceID).outerSpan_abs); // area is calculated for both devices, because symmetry - trailingEdgeHighLiftDevices.at(deviceID).coveredA = leadingEdgeHighLiftDevices.at(deviceID).span * (chordInboard + chordOutboard); + trailingEdgeHighLiftDevices.at(deviceID).coveredA = leadingEdgeHighLiftDevices.at(deviceID).span * (chordInboardWing + chordOutboardWing); } }