diff --git a/src/functionObjects/field/reference/referenceTemplates.C b/src/functionObjects/field/reference/referenceTemplates.C index a09b89ca80..f32150d233 100644 --- a/src/functionObjects/field/reference/referenceTemplates.C +++ b/src/functionObjects/field/reference/referenceTemplates.C @@ -53,13 +53,15 @@ bool Foam::functionObjects::reference::calcType() { cellValue.value() = -pTraits::one*GREAT; + // Might trigger parallel comms (e.g. volPointInterpolation, if + // result is not yet cached) so have all processors do it + autoPtr> interpolator + ( + interpolation::New(interpolationScheme_, vf) + ); + if (celli_ != -1) { - autoPtr> interpolator - ( - interpolation::New(interpolationScheme_, vf) - ); - cellValue.value() = interpolator().interpolate(position_, celli_, -1); }