From 1ecf2b471a2ee77054bfed1933e105f493c6c6ff Mon Sep 17 00:00:00 2001 From: andy <andy> Date: Mon, 13 May 2013 15:32:04 +0100 Subject: [PATCH] ENH: updated initialisation for fieldAverage function object - mantis #841 --- .../fieldAverage/fieldAverage/fieldAverage.C | 15 +++++++++++---- .../fieldAverage/fieldAverage/fieldAverage.H | 3 +++ 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/postProcessing/functionObjects/field/fieldAverage/fieldAverage/fieldAverage.C b/src/postProcessing/functionObjects/field/fieldAverage/fieldAverage/fieldAverage.C index d714747310f..f19b7f69d1c 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 f8b689757dc..4a6d75e06b8 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<fieldAverageItem> faItems_; -- GitLab