From 8f26a774432799cfb98e4aee38a9bc803b7f55bc Mon Sep 17 00:00:00 2001 From: andy Date: Mon, 13 Jan 2014 17:40:28 +0000 Subject: [PATCH 1/9] STYLE: Minor code formatting --- .../solidBodyMotionFunction/solidBodyMotionFunction.H | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/dynamicFvMesh/solidBodyMotionFvMesh/solidBodyMotionFunctions/solidBodyMotionFunction/solidBodyMotionFunction.H b/src/dynamicFvMesh/solidBodyMotionFvMesh/solidBodyMotionFunctions/solidBodyMotionFunction/solidBodyMotionFunction.H index 075e746297..1e0ed0363b 100644 --- a/src/dynamicFvMesh/solidBodyMotionFvMesh/solidBodyMotionFunctions/solidBodyMotionFunction/solidBodyMotionFunction.H +++ b/src/dynamicFvMesh/solidBodyMotionFvMesh/solidBodyMotionFunctions/solidBodyMotionFunction/solidBodyMotionFunction.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -55,7 +55,7 @@ namespace Foam { /*---------------------------------------------------------------------------*\ - Class solidBodyMotionFunction Declaration + s Class solidBodyMotionFunction Declaration \*---------------------------------------------------------------------------*/ class solidBodyMotionFunction From 7d7d210dd51f4bdfc82c16b3c6995af1fe79d442 Mon Sep 17 00:00:00 2001 From: andy Date: Tue, 14 Jan 2014 09:54:34 +0000 Subject: [PATCH 2/9] STYLE: Updated output message --- .../functionObjects/field/nearWallFields/nearWallFields.C | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/postProcessing/functionObjects/field/nearWallFields/nearWallFields.C b/src/postProcessing/functionObjects/field/nearWallFields/nearWallFields.C index d65c9acf87..1737e1de0a 100644 --- a/src/postProcessing/functionObjects/field/nearWallFields/nearWallFields.C +++ b/src/postProcessing/functionObjects/field/nearWallFields/nearWallFields.C @@ -356,7 +356,7 @@ void Foam::nearWallFields::execute() Info<< type() << " " << name_ << " output:" << nl; - Info<< " Sampling fields fields to " << obr_.time().timeName() + Info<< " Sampling fields to " << obr_.time().timeName() << endl; sampleFields(vsf_); From 0ccbf6e7223b52840b3406163440f6d54a04744b Mon Sep 17 00:00:00 2001 From: andy Date: Tue, 14 Jan 2014 09:55:08 +0000 Subject: [PATCH 3/9] BUG: Updated output message if porosity present --- .../functionObjects/forces/forces/forces.C | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/src/postProcessing/functionObjects/forces/forces/forces.C b/src/postProcessing/functionObjects/forces/forces/forces.C index 831f552667..d624554e93 100644 --- a/src/postProcessing/functionObjects/forces/forces/forces.C +++ b/src/postProcessing/functionObjects/forces/forces/forces.C @@ -678,16 +678,14 @@ void Foam::forces::read(const dictionary& dict) localSystem_ = true; } - if (dict.readIfPresent("porosity", porosity_) && log_) + dict.readIfPresent("porosity", porosity_); + if (porosity_) { - if (porosity_) - { - Info<< " Including porosity effects" << endl; - } - else - { - Info<< " Not including porosity effects" << endl; - } + Info(log_)<< " Including porosity effects" << endl; + } + else + { + Info(log_)<< " Not including porosity effects" << endl; } if (dict.found("binData")) From 2e7d16238c80b8dda754cc0bef6730cf0248c6d0 Mon Sep 17 00:00:00 2001 From: andy Date: Tue, 14 Jan 2014 09:58:53 +0000 Subject: [PATCH 4/9] ENH: messageStream - updated output when using (bool) operator --- src/OpenFOAM/db/error/messageStream.C | 37 +++++---------------------- 1 file changed, 6 insertions(+), 31 deletions(-) diff --git a/src/OpenFOAM/db/error/messageStream.C b/src/OpenFOAM/db/error/messageStream.C index afec263908..75ae1b4770 100644 --- a/src/OpenFOAM/db/error/messageStream.C +++ b/src/OpenFOAM/db/error/messageStream.C @@ -188,39 +188,14 @@ Foam::OSstream& Foam::messageStream::operator() Foam::OSstream& Foam::messageStream::operator()(const bool output) { - if (level) + if (output) { - bool collect = (severity_ == INFO || severity_ == WARNING); - - // Report the error - if (!output && collect) - { - return Snull; - } - else - { - if (title().size()) - { - Pout<< title().c_str(); - } - - if (maxErrors_) - { - errorCount_++; - - if (errorCount_ >= maxErrors_) - { - FatalErrorIn("messageStream::operator OSstream&()") - << "Too many errors" - << abort(FatalError); - } - } - - return Pout; - } + return operator()(); + } + else + { + return Snull; } - - return Snull; } From e5a5b89509aab746c799a4522663513ecbf788f0 Mon Sep 17 00:00:00 2001 From: andy Date: Tue, 14 Jan 2014 10:41:50 +0000 Subject: [PATCH 5/9] ENH: mapFields - deprecated old utility in favour of mapFieldsNew and renamed --- .../preProcessing/mapFields/Make/options | 1 + .../mapFields/MapConsistentVolFields.H | 130 ---- .../mapFields/MapLagrangianFields.H | 20 +- .../preProcessing/mapFields/MapMeshes.H | 178 +---- .../preProcessing/mapFields/MapVolFields.H | 79 +-- .../preProcessing/mapFields/UnMapped.H | 2 +- .../preProcessing/mapFields/createTimes.H | 20 +- .../preProcessing/mapFields/mapFields.C | 563 ++++----------- .../preProcessing/mapFields/mapLagrangian.C | 64 +- .../preProcessing/mapFields/mapLagrangian.H | 4 +- .../preProcessing/mapFields/setTimeIndex.H | 2 + .../preProcessing/mapFieldsNew/Make/files | 4 - .../preProcessing/mapFieldsNew/Make/options | 13 - .../mapFieldsNew/MapLagrangianFields.H | 184 ----- .../preProcessing/mapFieldsNew/MapMeshes.H | 131 ---- .../preProcessing/mapFieldsNew/MapVolFields.H | 104 --- .../preProcessing/mapFieldsNew/UnMapped.H | 57 -- .../preProcessing/mapFieldsNew/createTimes.H | 11 - .../preProcessing/mapFieldsNew/mapFields.C | 343 --------- .../preProcessing/mapFieldsNew/mapFieldsDict | 36 - .../mapFieldsNew/mapLagrangian.C | 303 -------- .../mapFieldsNew/mapLagrangian.H | 56 -- .../preProcessing/mapFieldsNew/setTimeIndex.H | 33 - src/fvOptions/fvOptions/fvOption.C | 6 +- src/fvOptions/fvOptions/fvOption.H | 8 +- src/fvOptions/fvOptions/fvOptionI.H | 6 +- src/sampling/Make/files | 19 +- .../cellVolumeWeight/cellVolumeWeightMethod.C | 2 +- .../cellVolumeWeight/cellVolumeWeightMethod.H | 2 +- .../calcMethod/direct/directMethod.C | 2 +- .../calcMethod/direct/directMethod.H | 2 +- .../calcMethod/mapNearest/mapNearestMethod.C | 2 +- .../calcMethod/mapNearest/mapNearestMethod.H | 2 +- .../meshToMeshMethod/meshToMeshMethod.C | 2 +- .../meshToMeshMethod/meshToMeshMethod.H | 2 +- .../meshToMeshMethod/meshToMeshMethodI.H | 2 +- .../meshToMeshMethod/meshToMeshMethodNew.C | 2 +- .../calculateMeshToMeshAddressing.C | 343 --------- .../meshToMesh/calculateMeshToMeshWeights.C | 274 -------- .../meshToMesh/meshToMesh.C | 652 ++++++++++++++---- .../meshToMesh/meshToMesh.H | 574 +++++++++------ .../meshToMeshI.H} | 18 +- .../meshToMesh/meshToMeshInterpolate.C | 499 -------------- .../meshToMeshParallelOps.C} | 20 +- .../meshToMeshTemplates.C} | 48 +- .../meshToMeshNew/meshToMeshNew.C | 576 ---------------- .../meshToMeshNew/meshToMeshNew.H | 499 -------------- tutorials/incompressible/icoFoam/Allrun | 4 +- 48 files changed, 1198 insertions(+), 4706 deletions(-) delete mode 100644 applications/utilities/preProcessing/mapFields/MapConsistentVolFields.H delete mode 100644 applications/utilities/preProcessing/mapFieldsNew/Make/files delete mode 100644 applications/utilities/preProcessing/mapFieldsNew/Make/options delete mode 100644 applications/utilities/preProcessing/mapFieldsNew/MapLagrangianFields.H delete mode 100644 applications/utilities/preProcessing/mapFieldsNew/MapMeshes.H delete mode 100644 applications/utilities/preProcessing/mapFieldsNew/MapVolFields.H delete mode 100644 applications/utilities/preProcessing/mapFieldsNew/UnMapped.H delete mode 100644 applications/utilities/preProcessing/mapFieldsNew/createTimes.H delete mode 100644 applications/utilities/preProcessing/mapFieldsNew/mapFields.C delete mode 100644 applications/utilities/preProcessing/mapFieldsNew/mapFieldsDict delete mode 100644 applications/utilities/preProcessing/mapFieldsNew/mapLagrangian.C delete mode 100644 applications/utilities/preProcessing/mapFieldsNew/mapLagrangian.H delete mode 100644 applications/utilities/preProcessing/mapFieldsNew/setTimeIndex.H rename src/sampling/meshToMeshInterpolation/{meshToMeshNew => meshToMesh}/calcMethod/cellVolumeWeight/cellVolumeWeightMethod.C (99%) rename src/sampling/meshToMeshInterpolation/{meshToMeshNew => meshToMesh}/calcMethod/cellVolumeWeight/cellVolumeWeightMethod.H (98%) rename src/sampling/meshToMeshInterpolation/{meshToMeshNew => meshToMesh}/calcMethod/direct/directMethod.C (99%) rename src/sampling/meshToMeshInterpolation/{meshToMeshNew => meshToMesh}/calcMethod/direct/directMethod.H (98%) rename src/sampling/meshToMeshInterpolation/{meshToMeshNew => meshToMesh}/calcMethod/mapNearest/mapNearestMethod.C (99%) rename src/sampling/meshToMeshInterpolation/{meshToMeshNew => meshToMesh}/calcMethod/mapNearest/mapNearestMethod.H (98%) rename src/sampling/meshToMeshInterpolation/{meshToMeshNew => meshToMesh}/calcMethod/meshToMeshMethod/meshToMeshMethod.C (98%) rename src/sampling/meshToMeshInterpolation/{meshToMeshNew => meshToMesh}/calcMethod/meshToMeshMethod/meshToMeshMethod.H (98%) rename src/sampling/meshToMeshInterpolation/{meshToMeshNew => meshToMesh}/calcMethod/meshToMeshMethod/meshToMeshMethodI.H (94%) rename src/sampling/meshToMeshInterpolation/{meshToMeshNew => meshToMesh}/calcMethod/meshToMeshMethod/meshToMeshMethodNew.C (96%) delete mode 100644 src/sampling/meshToMeshInterpolation/meshToMesh/calculateMeshToMeshAddressing.C delete mode 100644 src/sampling/meshToMeshInterpolation/meshToMesh/calculateMeshToMeshWeights.C rename src/sampling/meshToMeshInterpolation/{meshToMeshNew/meshToMeshNewI.H => meshToMesh/meshToMeshI.H} (77%) delete mode 100644 src/sampling/meshToMeshInterpolation/meshToMesh/meshToMeshInterpolate.C rename src/sampling/meshToMeshInterpolation/{meshToMeshNew/meshToMeshNewParallelOps.C => meshToMesh/meshToMeshParallelOps.C} (98%) rename src/sampling/meshToMeshInterpolation/{meshToMeshNew/meshToMeshNewTemplates.C => meshToMesh/meshToMeshTemplates.C} (92%) delete mode 100644 src/sampling/meshToMeshInterpolation/meshToMeshNew/meshToMeshNew.C delete mode 100644 src/sampling/meshToMeshInterpolation/meshToMeshNew/meshToMeshNew.H diff --git a/applications/utilities/preProcessing/mapFields/Make/options b/applications/utilities/preProcessing/mapFields/Make/options index 7bd964094e..b4ed87bf74 100644 --- a/applications/utilities/preProcessing/mapFields/Make/options +++ b/applications/utilities/preProcessing/mapFields/Make/options @@ -1,4 +1,5 @@ EXE_INC = \ + -DFULLDEBUG -g -O0 \ -I$(LIB_SRC)/meshTools/lnInclude \ -I$(LIB_SRC)/lagrangian/basic/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \ diff --git a/applications/utilities/preProcessing/mapFields/MapConsistentVolFields.H b/applications/utilities/preProcessing/mapFields/MapConsistentVolFields.H deleted file mode 100644 index 9015c473a2..0000000000 --- a/applications/utilities/preProcessing/mapFields/MapConsistentVolFields.H +++ /dev/null @@ -1,130 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -\*---------------------------------------------------------------------------*/ - -#ifndef MapConsistentVolFields_H -#define MapConsistentVolFields_H - -#include "GeometricField.H" -#include "meshToMesh.H" -#include "IOobjectList.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -template -void MapConsistentVolFields -( - const IOobjectList& objects, - const meshToMesh& meshToMeshInterp, - const meshToMesh::order& mapOrder, - const CombineOp& cop -) -{ - const fvMesh& meshSource = meshToMeshInterp.fromMesh(); - const fvMesh& meshTarget = meshToMeshInterp.toMesh(); - - word fieldClassName - ( - GeometricField::typeName - ); - - IOobjectList fields = objects.lookupClass(fieldClassName); - - forAllIter(IOobjectList, fields, fieldIter) - { - Info<< " interpolating " << fieldIter()->name() - << endl; - - // Read field - GeometricField fieldSource - ( - *fieldIter(), - meshSource - ); - - IOobject fieldTargetIOobject - ( - fieldIter()->name(), - meshTarget.time().timeName(), - meshTarget, - IOobject::MUST_READ, - IOobject::AUTO_WRITE - ); - - if (fieldTargetIOobject.headerOk()) - { - // Read fieldTarget - GeometricField fieldTarget - ( - fieldTargetIOobject, - meshTarget - ); - - // Interpolate field - meshToMeshInterp.interpolate// > - ( - fieldTarget, - fieldSource, - mapOrder, - cop - ); - - // Write field - fieldTarget.write(); - } - else - { - fieldTargetIOobject.readOpt() = IOobject::NO_READ; - - // Interpolate field - GeometricField fieldTarget - ( - fieldTargetIOobject, - meshToMeshInterp.interpolate// > - ( - fieldSource, - mapOrder, - cop - ) - ); - - // Write field - fieldTarget.write(); - } - } -} - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/utilities/preProcessing/mapFields/MapLagrangianFields.H b/applications/utilities/preProcessing/mapFields/MapLagrangianFields.H index 19a8e74f41..07d8d8335b 100644 --- a/applications/utilities/preProcessing/mapFields/MapLagrangianFields.H +++ b/applications/utilities/preProcessing/mapFields/MapLagrangianFields.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -51,19 +51,18 @@ void MapLagrangianFields ( const string& cloudName, const IOobjectList& objects, - const meshToMesh& meshToMeshInterp, + const polyMesh& meshTarget, const labelList& addParticles ) { - const fvMesh& meshTarget = meshToMeshInterp.toMesh(); - { IOobjectList fields = objects.lookupClass(IOField::typeName); forAllIter(IOobjectList, fields, fieldIter) { - Info<< " mapping lagrangian field " - << fieldIter()->name() << endl; + const word& fieldName = fieldIter()->name(); + + Info<< " mapping lagrangian field " << fieldName << endl; // Read field (does not need mesh) IOField fieldSource(*fieldIter()); @@ -73,7 +72,7 @@ void MapLagrangianFields ( IOobject ( - fieldIter()->name(), + fieldName, meshTarget.time().timeName(), cloud::prefix/cloudName, meshTarget, @@ -100,8 +99,9 @@ void MapLagrangianFields forAllIter(IOobjectList, fieldFields, fieldIter) { - Info<< " mapping lagrangian fieldField " - << fieldIter()->name() << endl; + const word& fieldName = fieldIter()->name(); + + Info<< " mapping lagrangian fieldField " << fieldName << endl; // Read field (does not need mesh) IOField > fieldSource(*fieldIter()); @@ -112,7 +112,7 @@ void MapLagrangianFields ( IOobject ( - fieldIter()->name(), + fieldName, meshTarget.time().timeName(), cloud::prefix/cloudName, meshTarget, diff --git a/applications/utilities/preProcessing/mapFields/MapMeshes.H b/applications/utilities/preProcessing/mapFields/MapMeshes.H index e497eb0ccd..e75819f289 100644 --- a/applications/utilities/preProcessing/mapFields/MapMeshes.H +++ b/applications/utilities/preProcessing/mapFields/MapMeshes.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -27,9 +27,9 @@ License #define MapMeshes_H #include "MapVolFields.H" -#include "MapConsistentVolFields.H" #include "mapLagrangian.H" #include "UnMapped.H" +#include "pointMesh.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -37,155 +37,62 @@ namespace Foam { template class CombineOp> -void MapConsistentMesh +void MapMesh ( - const fvMesh& meshSource, - const fvMesh& meshTarget, - const meshToMesh::order& mapOrder + const meshToMesh& interp, + const HashSet& selectedFields, + const bool noLagrangian ) { - // Create the interpolation scheme - meshToMesh meshToMeshInterp(meshSource, meshTarget); - - Info<< nl - << "Consistently creating and mapping fields for time " - << meshSource.time().timeName() << nl << endl; - { + const polyMesh& meshSource = interp.srcRegion(); + // Search for list of objects for this time IOobjectList objects(meshSource, meshSource.time().timeName()); - // Map volFields - // ~~~~~~~~~~~~~ - MapConsistentVolFields - ( - objects, - meshToMeshInterp, - mapOrder, - CombineOp() - ); - MapConsistentVolFields - ( - objects, - meshToMeshInterp, - mapOrder, - CombineOp() - ); - MapConsistentVolFields - ( - objects, - meshToMeshInterp, - mapOrder, - CombineOp() - ); - MapConsistentVolFields - ( - objects, - meshToMeshInterp, - mapOrder, - CombineOp() - ); - MapConsistentVolFields - ( - objects, - meshToMeshInterp, - mapOrder, - CombineOp() - ); - } - - { - // Search for list of target objects for this time - IOobjectList objects(meshTarget, meshTarget.time().timeName()); - - // Mark surfaceFields as unmapped - // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - UnMapped(objects); - UnMapped(objects); - UnMapped(objects); - UnMapped(objects); - UnMapped(objects); - - // Mark pointFields as unmapped - // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - UnMapped(objects); - UnMapped(objects); - UnMapped(objects); - UnMapped(objects); - UnMapped(objects); - } - - mapLagrangian(meshToMeshInterp); -} - - -template class CombineOp> -void MapSubMesh -( - const fvMesh& meshSource, - const fvMesh& meshTarget, - const HashTable& patchMap, - const wordList& cuttingPatches, - const meshToMesh::order& mapOrder -) -{ - // Create the interpolation scheme - meshToMesh meshToMeshInterp - ( - meshSource, - meshTarget, - patchMap, - cuttingPatches - ); - - Info<< nl - << "Mapping fields for time " << meshSource.time().timeName() - << nl << endl; - - { - // Search for list of source objects for this time - IOobjectList objects(meshSource, meshSource.time().timeName()); - // Map volFields // ~~~~~~~~~~~~~ MapVolFields ( objects, - meshToMeshInterp, - mapOrder, + selectedFields, + interp, CombineOp() ); + MapVolFields ( objects, - meshToMeshInterp, - mapOrder, + selectedFields, + interp, CombineOp() ); MapVolFields ( objects, - meshToMeshInterp, - mapOrder, + selectedFields, + interp, CombineOp() ); MapVolFields ( objects, - meshToMeshInterp, - mapOrder, + selectedFields, + interp, CombineOp() ); MapVolFields ( objects, - meshToMeshInterp, - mapOrder, + selectedFields, + interp, CombineOp() ); } { + const polyMesh& meshTarget = interp.tgtRegion(); + // Search for list of target objects for this time IOobjectList objects(meshTarget, meshTarget.time().timeName()); @@ -206,49 +113,10 @@ void MapSubMesh UnMapped(objects); } - mapLagrangian(meshToMeshInterp); -} - - -template class CombineOp> -void MapConsistentSubMesh -( - const fvMesh& meshSource, - const fvMesh& meshTarget, - const meshToMesh::order& mapOrder -) -{ - HashTable patchMap; - HashTable