diff --git a/src/functionObjects/field/fieldValues/volFieldValue/volFieldValueTemplates.C b/src/functionObjects/field/fieldValues/volFieldValue/volFieldValueTemplates.C index 2e419e906030b152b8936664cd20130f9cc6278e..974b1c3017027ebe321c958a15cd2063c468e3ea 100644 --- a/src/functionObjects/field/fieldValues/volFieldValue/volFieldValueTemplates.C +++ b/src/functionObjects/field/fieldValues/volFieldValue/volFieldValueTemplates.C @@ -209,30 +209,26 @@ bool Foam::functionObjects::fieldValues::volFieldValue::writeValues if (writeFields_) { - Field<Type> allValues(values); - combineFields(allValues); - - if (Pstream::master()) + word outName = fieldName + '_' + regionTypeNames_[regionType_]; + if (this->volRegion::regionName_ != polyMesh::defaultRegion) { - word outName = fieldName + '_' + regionTypeNames_[regionType_]; - if (this->volRegion::regionName_ != polyMesh::defaultRegion) - { - outName = outName + '-' + this->volRegion::regionName_; - } + outName = outName + '-' + this->volRegion::regionName_; + } - IOField<Type> + IOField<Type> + ( + IOobject ( - IOobject - ( - outName, - obr_.time().timeName(), - obr_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - scaleFactor_*weightField*allValues - ).write(); - } + outName, + obr_.time().timeName(), + obr_, + IOobject::NO_READ, + IOobject::NO_WRITE + ), + weightField.empty() + ? scaleFactor_*values + : scaleFactor_*weightField*values + ).write(); } if (operation_ != opNone) diff --git a/tutorials/incompressible/pisoFoam/RAS/cavity/system/FOmultiply b/tutorials/incompressible/pisoFoam/RAS/cavity/system/FOmultiply new file mode 100644 index 0000000000000000000000000000000000000000..3a7c430051af93362adadb6310a9186ce5dbe493 --- /dev/null +++ b/tutorials/incompressible/pisoFoam/RAS/cavity/system/FOmultiply @@ -0,0 +1,54 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2006 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ + +multiply1_scalar_scalar +{ + // Mandatory entries + type multiply; + libs (fieldFunctionObjects); + fields (k k_0); + + // Optional (inherited) entries + result k2; + region region0; + enabled true; + log true; + timeStart 0; + timeEnd 10; + executeControl timeStep; + executeInterval 1; + writeControl runTime; + writeInterval 1; +} + + +multiply1_vector_vector +{ + ${multiply1_scalar_scalar} + fields (U U_0); + result U2; +} + + +multiply1_scalar_vector +{ + ${multiply1_scalar_scalar} + fields (k U); + result kU; +} + + +multiply1_scalar_tensor +{ + ${multiply1_scalar_scalar} + fields (k U2); + result kU2; +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/pisoFoam/RAS/cavity/system/FOvolFieldValue b/tutorials/incompressible/pisoFoam/RAS/cavity/system/FOvolFieldValue new file mode 100644 index 0000000000000000000000000000000000000000..cfd49ad490175ae46e02a5ef61ed5558d312a5ea --- /dev/null +++ b/tutorials/incompressible/pisoFoam/RAS/cavity/system/FOvolFieldValue @@ -0,0 +1,162 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2006 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ + +volFieldValue1_none_none +{ + // Mandatory entries (unmodifiable) + type volFieldValue; + libs (fieldFunctionObjects); + + // Mandatory entries (runtime modifiable) + fields (p U); + operation none; + regionType all; + + // Optional entries (runtime modifiable) + postOperation none; + weightField none; + + // Optional (inherited) entries + writeFields true; + scalingFactor 1.0; + writePrecision 8; + writeToFile true; + useUserTime true; + region region0; + enabled true; + log true; + timeStart 0; + timeEnd 1000; + executeControl timeStep; + executeInterval 1; + writeControl writeTime; + writeInterval -1; +} + + +volFieldValue1_min_none +{ + ${volFieldValue1_none_none} + operation min; +} + + +volFieldValue1_max_none +{ + ${volFieldValue1_none_none} + operation max; +} + + +volFieldValue1_sum_none +{ + ${volFieldValue1_none_none} + operation sum; +} + + +volFieldValue1_sumMag_none +{ + ${volFieldValue1_none_none} + operation sumMag; +} + + +volFieldValue1_average_none +{ + ${volFieldValue1_none_none} + operation average; +} + + +volFieldValue1_volAverage_none +{ + ${volFieldValue1_none_none} + operation volAverage; +} + + +volFieldValue1_volIntegrate_none +{ + ${volFieldValue1_none_none} + operation volIntegrate; +} + + +volFieldValue1_CoV_none +{ + ${volFieldValue1_none_none} + operation CoV; +} + + +volFieldValue1_min_none_cellzone +{ + ${volFieldValue1_min_none} + regionType cellZone; + name zone1; +} + + +volFieldValue1_max_none_cellzone +{ + ${volFieldValue1_max_none} + regionType cellZone; + name zone1; +} + + +volFieldValue1_sum_none_cellzone +{ + ${volFieldValue1_sum_none} + regionType cellZone; + name zone1; +} + + +volFieldValue1_sumMag_none_cellzone +{ + ${volFieldValue1_sumMag_none} + regionType cellZone; + name zone1; +} + + +volFieldValue1_average_none_cellzone +{ + ${volFieldValue1_average_none} + regionType cellZone; + name zone1; +} + + +volFieldValue1_volAverage_none_cellzone +{ + ${volFieldValue1_volAverage_none} + regionType cellZone; + name zone1; +} + + +volFieldValue1_volIntegrate_none_cellzone +{ + ${volFieldValue1_volIntegrate_none} + regionType cellZone; + name zone1; +} + + +volFieldValue1_CoV_none_cellzone +{ + ${volFieldValue1_CoV_none} + regionType cellZone; + name zone1; +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/pisoFoam/RAS/cavity/system/controlDict b/tutorials/incompressible/pisoFoam/RAS/cavity/system/controlDict index c7c2be41663f22f0fcee592013db5105806182a1..4b340e864852ef683c0bbc7d40bad7a1bcce7158 100644 --- a/tutorials/incompressible/pisoFoam/RAS/cavity/system/controlDict +++ b/tutorials/incompressible/pisoFoam/RAS/cavity/system/controlDict @@ -67,6 +67,7 @@ functions #include "FOlog" #include "FOmag" #include "FOmagSqr" + #include "FOmultiply" #include "FOmomentum" #include "FOnearWallFields" #include "FOPecletNo" @@ -85,6 +86,7 @@ functions #include "FOsurfaceInterpolate" #include "FOturbulenceFields" #include "FOvalueAverage" + #include "FOvolFieldValue" #include "FOvorticity" #include "FOreference" #include "FOwallShearStress"