diff --git a/src/functionObjects/field/fieldValues/surfaceFieldValue/surfaceFieldValue.C b/src/functionObjects/field/fieldValues/surfaceFieldValue/surfaceFieldValue.C index bc55e595233dbd0dcb9592a6c15927f0f6e4b3fd..23c52913b6bf71afde18e62ad2837a1495633429 100644 --- a/src/functionObjects/field/fieldValues/surfaceFieldValue/surfaceFieldValue.C +++ b/src/functionObjects/field/fieldValues/surfaceFieldValue/surfaceFieldValue.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2017-2020 OpenCFD Ltd. + Copyright (C) 2017-2021 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -1034,6 +1034,16 @@ bool Foam::functionObjects::fieldValues::surfaceFieldValue::read mesh_, dict.subDict("sampledSurfaceDict") ); + + if (sampledPtr_->interpolate()) + { + // Should probably ignore interpolate entirely, + // but the oldest isoSurface algorithm requires it! + WarningInFunction + << type() << ' ' << name() << ": " + << "sampledSurface with interpolate = true " + << "is likely incorrect" << nl << nl; + } } Info<< type() << ' ' << name() << ':' << nl diff --git a/src/functionObjects/field/fieldValues/surfaceFieldValue/surfaceFieldValueTemplates.C b/src/functionObjects/field/fieldValues/surfaceFieldValue/surfaceFieldValueTemplates.C index 8b08f070375c79ed6fede3096a344abaaf5851a3..20effe990b4fcf49636ec939507e046af64e490e 100644 --- a/src/functionObjects/field/fieldValues/surfaceFieldValue/surfaceFieldValueTemplates.C +++ b/src/functionObjects/field/fieldValues/surfaceFieldValue/surfaceFieldValueTemplates.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2015-2020 OpenCFD Ltd. + Copyright (C) 2015-2021 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -388,6 +388,15 @@ bool Foam::functionObjects::fieldValues::surfaceFieldValue::writeValues false // serial - already merged ); + // Point data? Should probably disallow + if (sampledPtr_) + { + surfaceWriterPtr_->isPointData() = + sampledPtr_->interpolate(); + } + + surfaceWriterPtr_->nFields() = 1; // Needed for VTK legacy + surfaceWriterPtr_->write(fieldName, allValues); surfaceWriterPtr_->clear();