Skip to content
Snippets Groups Projects

aerodynamic_analysis (schueltke): corrected wave drag calibration and neutral point estimation

Merged Florian Schültke requested to merge fix/aerodynamic_analysis_corrections into develop
All threads resolved!
Files
4
@@ -227,7 +227,26 @@ void bwbDefaultStrategy::calculateWaveDragMason(waveDragMason *myWaveDragMason)
= myWaveDragMason->calculateWaveDrag(currentPolarSet.cleanPolars.at(polarID).Points.at(pointID),
currentPolarSet.cleanPolars.at(polarID).MachNumber,
0, 0, currentPolarSet.cleanPolars.at(polarID).PointsWing.at(pointID).yStations,
currentPolarSet.cleanPolars.at(polarID).PointsWing.at(pointID).Cl_distr, true);
currentPolarSet.cleanPolars.at(polarID).PointsWing.at(pointID).Cl_distr);
}
//calibration of wing wave drag if calibration is active
if (myWaveDragMason->doWaveDragMasonCalibration && currentPolarSet.cleanPolars.at(polarID).PointsWing.back().CD_wave > 0) { // check if polar has wave drag
for (size_t pointID(0); pointID < currentPolarSet.cleanPolars.at(polarID).Points.size(); ++pointID) {
currentPolarSet.cleanPolars.at(polarID).PointsWing.at(pointID).CD_wave += myWaveDragMason->calculateWaveDragCorrectionByCalibration(
currentPolarSet.cleanPolars.at(polarID).PointsWing.at(pointID).CD_wave, currentPolarSet.cleanPolars.at(polarID).Points.at(pointID),
currentPolarSet.cleanPolars.at(polarID).MachNumber);
}
}
//correction of wing wave drag and summation to total drag
for (size_t pointID(0); pointID < currentPolarSet.cleanPolars.at(polarID).Points.size(); ++pointID) {
//wing
currentPolarSet.cleanPolars.at(polarID).PointsWing.at(pointID).CD_wave +=
myWaveDragMason->calculateWaveDragCorrectionByDragCounts(myWaveDragMason->waveDragCtCorrForCalibrationWing);
//check negative wave drag due to correction
if (currentPolarSet.cleanPolars.at(polarID).PointsWing.at(pointID).CD_wave < 0.) { // Check if wing wave drag is negative due to calibration; if so, set to zero
currentPolarSet.cleanPolars.at(polarID).PointsWing.at(pointID).CD_wave = 0.;
}
//calculate total wave drag
currentPolarSet.cleanPolars.at(polarID).Points.at(pointID).CD_wave = currentPolarSet.cleanPolars.at(polarID).PointsWing.at(pointID).CD_wave;
}
}
Loading