Skip to content

Commit 2952441

Browse files
authored
Create windowing objects if they do not exist
1 parent 73c2e71 commit 2952441

2 files changed

Lines changed: 6 additions & 14 deletions

File tree

SU2_CFD/include/output/tools/CWindowingTools.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ class CWindowedAverage:CWindowingTools{
7878
/*!
7979
* \brief Creates a new CWindowedAverage with the specified windowing function
8080
*/
81-
inline explicit CWindowedAverage(WINDOW_FUNCTION windowId = WINDOW_FUNCTION::SQUARE) : windowingFunctionId(windowId) {
81+
inline explicit CWindowedAverage(WINDOW_FUNCTION windowId) : windowingFunctionId(windowId) {
8282
if (windowId==WINDOW_FUNCTION::SQUARE) {
8383
values.push_back(0.);
8484
}

SU2_CFD/src/output/COutput.cpp

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -130,18 +130,6 @@ COutput::COutput(const CConfig *config, unsigned short ndim, bool fem_output):
130130
cauchyValue = 0.0;
131131
convergence = false;
132132

133-
/*--- Prepare windowedAverages ---*/
134-
if (config->GetTime_Domain()) {
135-
for (const auto& it : historyOutput_Map) {
136-
const auto& fieldIdentifier = it.first;
137-
const auto& field = it.second;
138-
if (field.fieldType == HistoryFieldType::COEFFICIENT) {
139-
// Pre-fill map with CWindowAverages with the specified windowing-function
140-
windowedTimeAverages.insert({fieldIdentifier, CWindowedAverage(config->GetKindWindow())});
141-
}
142-
}
143-
}
144-
145133
/*--- Initialize time convergence monitoring structure ---*/
146134

147135
nWndCauchy_Elems = config->GetWnd_Cauchy_Elems();
@@ -1927,7 +1915,11 @@ void COutput::Postprocess_HistoryData(CConfig *config){
19271915

19281916
if (currentField.fieldType == HistoryFieldType::COEFFICIENT){
19291917
if (config->GetTime_Domain()){
1930-
auto& timeAverage = windowedTimeAverages.at(historyOutput_List[iField]);
1918+
auto it = windowedTimeAverages.find(fieldIdentifier);
1919+
if (it == windowedTimeAverages.end()) {
1920+
it = windowedTimeAverages.insert({fieldIdentifier, CWindowedAverage(config->GetKindWindow())}).first;
1921+
}
1922+
auto& timeAverage = it->second;
19311923
timeAverage.addValue(currentField.value,config->GetTimeIter(), config->GetStartWindowIteration()); //Collecting Values for Windowing
19321924
SetHistoryOutputValue("TAVG_" + fieldIdentifier, timeAverage.GetVal());
19331925
if (config->GetDirectDiff() != NO_DERIVATIVE) {

0 commit comments

Comments
 (0)