diff --git a/src/postProcessing/functionObjects/field/fieldAverage/fieldAverage/fieldAverage.C b/src/postProcessing/functionObjects/field/fieldAverage/fieldAverage/fieldAverage.C index d714747310..f19b7f69d1 100644 --- a/src/postProcessing/functionObjects/field/fieldAverage/fieldAverage/fieldAverage.C +++ b/src/postProcessing/functionObjects/field/fieldAverage/fieldAverage/fieldAverage.C @@ -311,6 +311,7 @@ Foam::fieldAverage::fieldAverage prevTimeIndex_(-1), resetOnRestart_(false), resetOnOutput_(false), + initialised_(false), faItems_(), meanScalarFields_(), meanVectorFields_(), @@ -361,11 +362,7 @@ void Foam::fieldAverage::read(const dictionary& dict) dict.readIfPresent("resetOnOutput", resetOnOutput_); dict.lookup("fields") >> faItems_; - initialize(); readAveragingProperties(); - - // ensure first averaging works unconditionally - prevTimeIndex_ = -1; } } @@ -374,6 +371,16 @@ void Foam::fieldAverage::execute() { if (active_) { + if (!initialised_) + { + initialize(); + + // ensure first averaging works unconditionally + prevTimeIndex_ = -1; + + initialised_ = true; + } + calcAverages(); } } diff --git a/src/postProcessing/functionObjects/field/fieldAverage/fieldAverage/fieldAverage.H b/src/postProcessing/functionObjects/field/fieldAverage/fieldAverage/fieldAverage.H index f8b689757d..4a6d75e06b 100644 --- a/src/postProcessing/functionObjects/field/fieldAverage/fieldAverage/fieldAverage.H +++ b/src/postProcessing/functionObjects/field/fieldAverage/fieldAverage/fieldAverage.H @@ -171,6 +171,9 @@ protected: //- Reset the averaging process on output flag Switch resetOnOutput_; + //- Initialised flag + bool initialised_; + //- List of field average items, describing what averages to be // calculated and output List faItems_;