@@ -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