| 127 | |
| 128 | |
| 129 | void Foam::functionObjects::fieldAverage::calcAverages() |
| 130 | { |
| 131 | if (!initialised_) |
| 132 | { |
| 133 | initialize(); |
| 134 | } |
| 135 | |
| 136 | const label currentTimeIndex = obr_.time().timeIndex(); |
| 137 | const scalar currentTime = obr_.time().value(); |
| 138 | |
| 139 | if (prevTimeIndex_ == currentTimeIndex) |
| 140 | { |
| 141 | return; |
| 142 | } |
| 143 | else |
| 144 | { |
| 145 | prevTimeIndex_ = currentTimeIndex; |
| 146 | } |
| 147 | |
| 148 | if (periodicRestart_ && currentTime > restartPeriod_*periodIndex_) |
| 149 | { |
| 150 | restart(); |
| 151 | periodIndex_++; |
| 152 | } |
| 153 | |
| 154 | Log << type() << " " << name() << " write:" << nl |
| 155 | << " Calculating averages" << nl; |
| 156 | |
| 157 | addMeanSqrToPrime2Mean<scalar, scalar>(); |
| 158 | addMeanSqrToPrime2Mean<vector, symmTensor>(); |
| 159 | |
| 160 | calculateMeanFields<scalar>(); |
| 161 | calculateMeanFields<vector>(); |
| 162 | calculateMeanFields<sphericalTensor>(); |
| 163 | calculateMeanFields<symmTensor>(); |
| 164 | calculateMeanFields<tensor>(); |
| 165 | |
| 166 | calculatePrime2MeanFields<scalar, scalar>(); |
| 167 | calculatePrime2MeanFields<vector, symmTensor>(); |
| 168 | |
| 169 | forAll(faItems_, fieldi) |
| 170 | { |
| 171 | totalIter_[fieldi]++; |
| 172 | totalTime_[fieldi] += obr_.time().deltaTValue(); |
| 173 | } |
| 174 | |
| 175 | Log << endl; |
| 176 | } |
| 177 | |
| 178 | |
| 179 | void Foam::functionObjects::fieldAverage::writeAverages() const |
no test coverage detected