diff --git a/applications/utilities/mesh/advanced/PDRMesh/PDRMesh.C b/applications/utilities/mesh/advanced/PDRMesh/PDRMesh.C index 6473bb4d88b999a0067960a1fd55186eadd11411..b380a2938c7e5511bf060f9e966bbd752f374849 100644 --- a/applications/utilities/mesh/advanced/PDRMesh/PDRMesh.C +++ b/applications/utilities/mesh/advanced/PDRMesh/PDRMesh.C @@ -34,7 +34,8 @@ Description NOTE: To avoid exposing wrong fields values faceSets should include faces contained in the blockedCells cellset. - - coupledFaces reads coupledFacesSet to introduces mixe-coupled baffles + - coupledFaces reads coupledFacesSet to introduces mixed-coupled + duplicate baffles Subsets out the blocked cells and splits the blockedFaces and updates fields. diff --git a/applications/utilities/mesh/advanced/PDRMesh/PDRMeshDict b/applications/utilities/mesh/advanced/PDRMesh/PDRMeshDict index 94fb1d6b8cc50e15a1859586453f4fa9620545ff..62471e0ec6fbf5042983d5c7758e4563facf4af7 100644 --- a/applications/utilities/mesh/advanced/PDRMesh/PDRMeshDict +++ b/applications/utilities/mesh/advanced/PDRMesh/PDRMeshDict @@ -17,7 +17,8 @@ FoamFile //- Per faceSet the patch the faces should go into blocked baffles blockedFaces ((blockedFacesSet blockedFaces)); -//- Per faceSet the patch the faces should go into coupled baffles +//- Per faceSet the duplicate baffles to generate (one 'normal', wall baffle, +// one cyclic baffle). For use with active baffle boundary conditions. coupledFaces { coupledFacesSet diff --git a/applications/utilities/mesh/manipulation/createBaffles/createBaffles.C b/applications/utilities/mesh/manipulation/createBaffles/createBaffles.C index 66bc3bcb1114b9d9f9ae0ab05e545c8ca576614d..8fbfdf933dde521ceb686f743bdff4eb1fd6a877 100644 --- a/applications/utilities/mesh/manipulation/createBaffles/createBaffles.C +++ b/applications/utilities/mesh/manipulation/createBaffles/createBaffles.C @@ -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 @@ -525,7 +525,7 @@ int main(int argc, char *argv[]) Info<< "Created zone " << name << " at index " << zoneID - << " with " << n << " faces" << endl; + << " with " << returnReduce(n, sumOp<label>()) << " faces" << endl; mesh.faceZones().set ( diff --git a/applications/utilities/mesh/manipulation/createPatch/createPatch.C b/applications/utilities/mesh/manipulation/createPatch/createPatch.C index deefbaef38c97e7fa9ebd3865540a8eedca58c80..d4780f1b10775e41a6151c3268b254b602310b76 100644 --- a/applications/utilities/mesh/manipulation/createPatch/createPatch.C +++ b/applications/utilities/mesh/manipulation/createPatch/createPatch.C @@ -512,6 +512,11 @@ int main(int argc, char *argv[]) #include "addOverwriteOption.H" #include "addRegionOption.H" #include "addDictOption.H" + Foam::argList::addBoolOption + ( + "writeObj", + "write obj files showing the cyclic matching process" + ); #include "setRootCase.H" #include "createTime.H" runTime.functionObjects().off(); @@ -523,12 +528,13 @@ int main(int argc, char *argv[]) #include "createNamedPolyMesh.H" + const bool writeObj = args.optionFound("writeObj"); + const word oldInstance = mesh.pointsInstance(); const word dictName("createPatchDict"); #include "setSystemMeshDictionaryIO.H" - - Info<< "Reading " << dictName << nl << endl; + Info<< "Reading " << dictIO.instance()/dictIO.name() << nl << endl; IOdictionary dict(dictIO); @@ -542,7 +548,10 @@ int main(int argc, char *argv[]) patches.checkParallelSync(true); - dumpCyclicMatch("initial_", mesh); + if (writeObj) + { + dumpCyclicMatch("initial_", mesh); + } // Read patch construct info from dictionary PtrList<dictionary> patchSources(dict.lookup("patches")); @@ -761,7 +770,10 @@ int main(int argc, char *argv[]) autoPtr<mapPolyMesh> map = meshMod.changeMesh(mesh, true); mesh.movePoints(map().preMotionPoints()); - dumpCyclicMatch("coupled_", mesh); + if (writeObj) + { + dumpCyclicMatch("coupled_", mesh); + } // Synchronise points. if (!pointSync) @@ -872,7 +884,10 @@ int main(int argc, char *argv[]) filterPatches(mesh, addedPatchNames); - dumpCyclicMatch("final_", mesh); + if (writeObj) + { + dumpCyclicMatch("final_", mesh); + } // Set the precision of the points data to 10 diff --git a/applications/utilities/mesh/manipulation/flattenMesh/flattenMesh.C b/applications/utilities/mesh/manipulation/flattenMesh/flattenMesh.C index 6aed660ed8b9359b1ab8877ba8b23d964e48594e..1f9480a5c45ee071061c85b96a31d32b744b6598 100644 --- a/applications/utilities/mesh/manipulation/flattenMesh/flattenMesh.C +++ b/applications/utilities/mesh/manipulation/flattenMesh/flattenMesh.C @@ -96,6 +96,8 @@ int main(int argc, char *argv[]) Info<< "Writing points into directory " << points.path() << nl << endl; points.write(); + Info<< nl << "End" << nl << endl; + return 0; } diff --git a/applications/utilities/mesh/manipulation/mergeMeshes/mergeMeshes.C b/applications/utilities/mesh/manipulation/mergeMeshes/mergeMeshes.C index 46f59e91e8e63ac669a7d72d33776eebd0a61bed..62ef9e13fde805a7b5262e9b72cb707709bef4d1 100644 --- a/applications/utilities/mesh/manipulation/mergeMeshes/mergeMeshes.C +++ b/applications/utilities/mesh/manipulation/mergeMeshes/mergeMeshes.C @@ -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-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -62,7 +62,6 @@ int main(int argc, char *argv[]) "merge two meshes" ); - argList::noParallel(); #include "addOverwriteOption.H" argList::validArgs.append("masterCase"); @@ -97,6 +96,18 @@ int main(int argc, char *argv[]) word addRegion = polyMesh::defaultRegion; args.optionReadIfPresent("addRegion", addRegion); + // Since we don't use argList processor directory detection, add it to + // the casename ourselves so it triggers the logic inside TimePath. + const fileName& cName = args.caseName(); + std::string::size_type pos = cName.find("processor"); + if (pos != string::npos && pos != 0) + { + fileName processorName = cName.substr(pos, cName.size()-pos); + masterCase += '/' + processorName; + addCase += '/' + processorName; + } + + getRootCase(masterCase); getRootCase(addCase); diff --git a/applications/utilities/mesh/manipulation/mirrorMesh/mirrorFvMesh.C b/applications/utilities/mesh/manipulation/mirrorMesh/mirrorFvMesh.C index a13f5ace4350fbd6e32c19c10854583ff2dfcb5a..da835851b4bdd2a1175a50ebcab3e22e9d3abad3 100644 --- a/applications/utilities/mesh/manipulation/mirrorMesh/mirrorFvMesh.C +++ b/applications/utilities/mesh/manipulation/mirrorMesh/mirrorFvMesh.C @@ -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-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -243,8 +243,9 @@ Foam::mirrorFvMesh::mirrorFvMesh(const IOobject& io) // Mirror boundary faces patch by patch - wordList newPatchTypes(boundary().size()); - wordList newPatchNames(boundary().size()); + + labelList newToOldPatch(boundary().size(), -1); + labelList newPatchSizes(boundary().size(), -1); labelList newPatchStarts(boundary().size(), -1); label nNewPatches = 0; @@ -303,8 +304,8 @@ Foam::mirrorFvMesh::mirrorFvMesh(const IOobject& io) // If patch exists, grab the name and type of the original patch if (nNewFaces > newPatchStarts[nNewPatches]) { - newPatchTypes[nNewPatches] = boundaryMesh()[patchI].type(); - newPatchNames[nNewPatches] = boundaryMesh()[patchI].name(); + newToOldPatch[nNewPatches] = patchI; + newPatchSizes[nNewPatches] = nNewFaces - newPatchStarts[nNewPatches]; @@ -316,8 +317,7 @@ Foam::mirrorFvMesh::mirrorFvMesh(const IOobject& io) newFaces.setSize(nNewFaces); Info<< " New faces: " << nNewFaces << endl; - newPatchTypes.setSize(nNewPatches); - newPatchNames.setSize(nNewPatches); + newToOldPatch.setSize(nNewPatches); newPatchSizes.setSize(nNewPatches); newPatchStarts.setSize(nNewPatches); @@ -377,18 +377,16 @@ Foam::mirrorFvMesh::mirrorFvMesh(const IOobject& io) fvMesh& pMesh = *mirrorMeshPtr_; // Add the boundary patches - List<polyPatch*> p(newPatchTypes.size()); + List<polyPatch*> p(newPatchSizes.size()); forAll(p, patchI) { - p[patchI] = polyPatch::New + p[patchI] = boundaryMesh()[newToOldPatch[patchI]].clone ( - newPatchTypes[patchI], - newPatchNames[patchI], - newPatchSizes[patchI], - newPatchStarts[patchI], + pMesh.boundaryMesh(), patchI, - pMesh.boundaryMesh() + newPatchSizes[patchI], + newPatchStarts[patchI] ).ptr(); } diff --git a/applications/utilities/mesh/manipulation/mirrorMesh/mirrorMesh.C b/applications/utilities/mesh/manipulation/mirrorMesh/mirrorMesh.C index f90ed99eef87a9c0af81444ad529e51044d51ec7..f7383289cb8bfa8fd58c89c8777abc33ba3a60d7 100644 --- a/applications/utilities/mesh/manipulation/mirrorMesh/mirrorMesh.C +++ b/applications/utilities/mesh/manipulation/mirrorMesh/mirrorMesh.C @@ -67,7 +67,7 @@ int main(int argc, char *argv[]) Info<< "Writing mirrored mesh" << endl; mesh.mirrorMesh().write(); - Info<< "End" << endl; + Info<< "End" << nl << endl; return 0; } diff --git a/applications/utilities/mesh/manipulation/renumberMesh/renumberMesh.C b/applications/utilities/mesh/manipulation/renumberMesh/renumberMesh.C index 6b3b632467cc425280080bc13c0505cdf52cb39a..4e1933ac44d96a8a4c22faee75d2751323af2294 100644 --- a/applications/utilities/mesh/manipulation/renumberMesh/renumberMesh.C +++ b/applications/utilities/mesh/manipulation/renumberMesh/renumberMesh.C @@ -3,7 +3,7 @@ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation - \\/ M anispulation | + \\/ M anipulation | ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -46,6 +46,9 @@ Description #include "zeroGradientFvPatchFields.H" #include "CuthillMcKeeRenumber.H" #include "fvMeshSubset.H" +#include "cellSet.H" +#include "faceSet.H" +#include "pointSet.H" #ifdef FOAM_USE_ZOLTAN #include "zoltanRenumber.H" @@ -634,6 +637,12 @@ int main(int argc, char *argv[]) "calculate the rms of the frontwidth" ); + + #include "setRootCase.H" + #include "createTime.H" + runTime.functionObjects().off(); + + // Force linker to include zoltan symbols. This section is only needed since // Zoltan is a static library #ifdef FOAM_USE_ZOLTAN @@ -641,9 +650,6 @@ int main(int argc, char *argv[]) (void)zoltanRenumber::typeName; #endif - #include "setRootCase.H" - #include "createTime.H" - runTime.functionObjects().off(); // Get times list instantList Times = runTime.times(); @@ -700,6 +706,7 @@ int main(int argc, char *argv[]) bool writeMaps = false; bool orderPoints = false; label blockSize = 0; + bool renumberSets = true; // Construct renumberMethod autoPtr<IOdictionary> renumberDictPtr; @@ -760,6 +767,8 @@ int main(int argc, char *argv[]) Info<< "Writing renumber maps (new to old) to polyMesh." << nl << endl; } + + renumberSets = renumberDict.lookupOrDefault("renumberSets", true); } else { @@ -861,6 +870,71 @@ int main(int argc, char *argv[]) PtrList<surfaceTensorField> stFlds; ReadFields(mesh, objects, stFlds); + // Read point fields. + + PtrList<pointScalarField> psFlds; + ReadFields(pointMesh::New(mesh), objects, psFlds); + + PtrList<pointVectorField> pvFlds; + ReadFields(pointMesh::New(mesh), objects, pvFlds); + + PtrList<pointSphericalTensorField> pstFlds; + ReadFields(pointMesh::New(mesh), objects, pstFlds); + + PtrList<pointSymmTensorField> psymtFlds; + ReadFields(pointMesh::New(mesh), objects, psymtFlds); + + PtrList<pointTensorField> ptFlds; + ReadFields(pointMesh::New(mesh), objects, ptFlds); + + // Read sets + PtrList<cellSet> cellSets; + PtrList<faceSet> faceSets; + PtrList<pointSet> pointSets; + if (renumberSets) + { + // Read sets + IOobjectList objects(mesh, mesh.facesInstance(), "polyMesh/sets"); + { + IOobjectList cSets(objects.lookupClass(cellSet::typeName)); + if (cSets.size()) + { + Info<< "Reading cellSets:" << endl; + forAllConstIter(IOobjectList, cSets, iter) + { + cellSets.append(new cellSet(*iter())); + Info<< " " << cellSets.last().name() << endl; + } + } + } + { + IOobjectList fSets(objects.lookupClass(faceSet::typeName)); + if (fSets.size()) + { + Info<< "Reading faceSets:" << endl; + forAllConstIter(IOobjectList, fSets, iter) + { + faceSets.append(new faceSet(*iter())); + Info<< " " << faceSets.last().name() << endl; + } + } + } + { + IOobjectList pSets(objects.lookupClass(pointSet::typeName)); + if (pSets.size()) + { + Info<< "Reading pointSets:" << endl; + forAllConstIter(IOobjectList, pSets, iter) + { + pointSets.append(new pointSet(*iter())); + Info<< " " << pointSets.last().name() << endl; + } + } + } + } + + + Info<< endl; // From renumbering: @@ -1055,7 +1129,6 @@ int main(int argc, char *argv[]) mesh.updateMesh(map); // Update proc maps - if (cellProcAddressing.headerOk()) if ( cellProcAddressing.headerOk() @@ -1070,7 +1143,6 @@ int main(int argc, char *argv[]) UIndirectList<label>(cellProcAddressing, map().cellMap()) ); } - if (faceProcAddressing.headerOk()) if ( faceProcAddressing.headerOk() @@ -1101,7 +1173,6 @@ int main(int argc, char *argv[]) } } } - if (pointProcAddressing.headerOk()) if ( pointProcAddressing.headerOk() @@ -1226,47 +1297,80 @@ int main(int argc, char *argv[]) mesh.write(); if (cellProcAddressing.headerOk()) - if - ( - cellProcAddressing.headerOk() - && cellProcAddressing.size() == mesh.nCells() - ) { cellProcAddressing.instance() = mesh.facesInstance(); - cellProcAddressing.write(); + if (cellProcAddressing.size() == mesh.nCells()) + { + cellProcAddressing.write(); + } + else + { + // procAddressing no longer valid. Delete it. + const fileName fName(cellProcAddressing.filePath()); + if (fName.size()) + { + Info<< "Deleting inconsistent processor cell decomposition" + << " map " << fName << endl; + rm(fName); + } + } } if (faceProcAddressing.headerOk()) - if - ( - faceProcAddressing.headerOk() - && faceProcAddressing.size() == mesh.nFaces() - ) { faceProcAddressing.instance() = mesh.facesInstance(); - faceProcAddressing.write(); + if (faceProcAddressing.size() == mesh.nFaces()) + { + faceProcAddressing.write(); + } + else + { + const fileName fName(faceProcAddressing.filePath()); + if (fName.size()) + { + Info<< "Deleting inconsistent processor face decomposition" + << " map " << fName << endl; + rm(fName); + } + } } + if (pointProcAddressing.headerOk()) - if - ( - pointProcAddressing.headerOk() - && pointProcAddressing.size() == mesh.nPoints() - ) { pointProcAddressing.instance() = mesh.facesInstance(); - pointProcAddressing.write(); + if (pointProcAddressing.size() == mesh.nPoints()) + { + pointProcAddressing.write(); + } + else + { + const fileName fName(pointProcAddressing.filePath()); + if (fName.size()) + { + Info<< "Deleting inconsistent processor point decomposition" + << " map " << fName << endl; + rm(fName); + } + } } if (boundaryProcAddressing.headerOk()) - if - ( - boundaryProcAddressing.headerOk() - && boundaryProcAddressing.size() == mesh.boundaryMesh().size() - ) { boundaryProcAddressing.instance() = mesh.facesInstance(); - boundaryProcAddressing.write(); + if (boundaryProcAddressing.size() == mesh.boundaryMesh().size()) + { + boundaryProcAddressing.write(); + } + else + { + const fileName fName(boundaryProcAddressing.filePath()); + if (fName.size()) + { + Info<< "Deleting inconsistent processor patch decomposition" + << " map " << fName << endl; + rm(fName); + } + } } - if (writeMaps) { // For debugging: write out region @@ -1331,6 +1435,28 @@ int main(int argc, char *argv[]) ).write(); } + if (renumberSets) + { + forAll(cellSets, i) + { + cellSets[i].updateMesh(map()); + cellSets[i].instance() = mesh.facesInstance(); + cellSets[i].write(); + } + forAll(faceSets, i) + { + faceSets[i].updateMesh(map()); + faceSets[i].instance() = mesh.facesInstance(); + faceSets[i].write(); + } + forAll(pointSets, i) + { + pointSets[i].updateMesh(map()); + pointSets[i].instance() = mesh.facesInstance(); + pointSets[i].write(); + } + } + Info<< "\nEnd\n" << endl; return 0; diff --git a/applications/utilities/mesh/manipulation/renumberMesh/renumberMeshDict b/applications/utilities/mesh/manipulation/renumberMesh/renumberMeshDict index 2cd1a68ca56dd338283239af10e3a668448a1014..8b44fd1c4afaa465e1dd53c483f8424817bb866f 100644 --- a/applications/utilities/mesh/manipulation/renumberMesh/renumberMeshDict +++ b/applications/utilities/mesh/manipulation/renumberMesh/renumberMeshDict @@ -34,6 +34,8 @@ sortCoupledFaceCells false; // Optional entry: sort points into internal and boundary points //orderPoints false; +// Optional: suppress renumbering cellSets,faceSets,pointSets +//renumberSets false; method CuthillMcKee; diff --git a/applications/utilities/mesh/manipulation/splitMesh/splitMesh.C b/applications/utilities/mesh/manipulation/splitMesh/splitMesh.C index f1ed44e653f93b9c8899231e0fdf3ec9a0e1105b..a6d53a201c4b5ee03ed72d8f05b29d0f41644789 100644 --- a/applications/utilities/mesh/manipulation/splitMesh/splitMesh.C +++ b/applications/utilities/mesh/manipulation/splitMesh/splitMesh.C @@ -287,7 +287,8 @@ int main(int argc, char *argv[]) << exit(FatalError); } - Info<< nl << "end" << endl; + Info<< nl << "End" << nl << endl; + return 0; } diff --git a/applications/utilities/mesh/manipulation/stitchMesh/stitchMesh.C b/applications/utilities/mesh/manipulation/stitchMesh/stitchMesh.C index 8e64c28a38107006fb07d76cfb4b3e094b3b937b..d1db6fb365315dac65fcab5575e3f60692d52f45 100644 --- a/applications/utilities/mesh/manipulation/stitchMesh/stitchMesh.C +++ b/applications/utilities/mesh/manipulation/stitchMesh/stitchMesh.C @@ -499,7 +499,7 @@ int main(int argc, char *argv[]) // Write fields runTime.write(); - Info<< nl << "end" << endl; + Info<< nl << "End" << nl << endl; return 0; } diff --git a/applications/utilities/mesh/manipulation/subsetMesh/subsetMesh.C b/applications/utilities/mesh/manipulation/subsetMesh/subsetMesh.C index 63d91ac1788608a0e09c3813511dd664e3579d75..9a3a72248de8ac3a5cf18731d2ac8e868b1a1e72 100644 --- a/applications/utilities/mesh/manipulation/subsetMesh/subsetMesh.C +++ b/applications/utilities/mesh/manipulation/subsetMesh/subsetMesh.C @@ -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 @@ -41,11 +41,86 @@ Description #include "cellSet.H" #include "IOobjectList.H" #include "volFields.H" +#include "topoDistanceData.H" +#include "FaceCellWave.H" using namespace Foam; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +labelList nearestPatch(const polyMesh& mesh, const labelList& patchIDs) +{ + const polyBoundaryMesh& pbm = mesh.boundaryMesh(); + + // Count number of faces in exposedPatchIDs + label nFaces = 0; + forAll(patchIDs, i) + { + const polyPatch& pp = pbm[patchIDs[i]]; + nFaces += pp.size(); + } + + // Field on cells and faces. + List<topoDistanceData> cellData(mesh.nCells()); + List<topoDistanceData> faceData(mesh.nFaces()); + + // Start of changes + labelList patchFaces(nFaces); + List<topoDistanceData> patchData(nFaces); + nFaces = 0; + forAll(patchIDs, i) + { + label patchI = patchIDs[i]; + const polyPatch& pp = pbm[patchI]; + + forAll(pp, i) + { + patchFaces[nFaces] = pp.start()+i; + patchData[nFaces] = topoDistanceData(patchI, 0); + nFaces++; + } + } + + // Propagate information inwards + FaceCellWave<topoDistanceData> deltaCalc + ( + mesh, + patchFaces, + patchData, + faceData, + cellData, + mesh.globalData().nTotalCells()+1 + ); + + // And extract + + labelList nearest(mesh.nFaces()); + + bool haveWarned = false; + forAll(faceData, faceI) + { + if (!faceData[faceI].valid(deltaCalc.data())) + { + if (!haveWarned) + { + WarningIn("meshRefinement::nearestPatch(..)") + << "Did not visit some faces, e.g. face " << faceI + << " at " << mesh.faceCentres()[faceI] << endl + << "Using patch " << patchIDs[0] << " as nearest" + << endl; + haveWarned = true; + } + nearest[faceI] = patchIDs[0]; + } + else + { + nearest[faceI] = faceData[faceI].data(); + } + } + + return nearest; +} + template<class Type> void subsetVolFields @@ -150,6 +225,40 @@ void subsetPointFields } +template<class Type> +void subsetDimensionedFields +( + const fvMeshSubset& subsetter, + const wordList& fieldNames, + PtrList<DimensionedField<Type, volMesh> >& subFields +) +{ + const fvMesh& baseMesh = subsetter.baseMesh(); + + forAll(fieldNames, i) + { + const word& fieldName = fieldNames[i]; + + Info<< "Subsetting field " << fieldName << endl; + + DimensionedField<Type, volMesh> fld + ( + IOobject + ( + fieldName, + baseMesh.time().timeName(), + baseMesh, + IOobject::MUST_READ, + IOobject::NO_WRITE + ), + baseMesh + ); + + subFields.set(i, subsetter.interpolate(fld)); + } +} + + int main(int argc, char *argv[]) { @@ -169,6 +278,13 @@ int main(int argc, char *argv[]) "'oldInternalFaces'" ); argList::addOption + ( + "patches", + "names", + "add exposed internal faces to nearest of specified patches" + " instead of to 'oldInternalFaces'" + ); + argList::addOption ( "resultTime", "time", @@ -207,15 +323,19 @@ int main(int argc, char *argv[]) // Create mesh subsetting engine fvMeshSubset subsetter(mesh); - label patchI = -1; + labelList exposedPatchIDs; if (args.optionFound("patch")) { const word patchName = args["patch"]; - patchI = mesh.boundaryMesh().findPatchID(patchName); + exposedPatchIDs = labelList + ( + 1, + mesh.boundaryMesh().findPatchID(patchName) + ); - if (patchI == -1) + if (exposedPatchIDs[0] == -1) { FatalErrorIn(args.executable()) << "Illegal patch " << patchName << nl << "Valid patches are " << mesh.boundaryMesh().names() @@ -225,17 +345,53 @@ int main(int argc, char *argv[]) Info<< "Adding exposed internal faces to patch " << patchName << endl << endl; } + else if (args.optionFound("patches")) + { + const wordReList patchNames(args.optionRead<wordReList>("patches")); + + exposedPatchIDs = mesh.boundaryMesh().patchSet(patchNames).sortedToc(); + + Info<< "Adding exposed internal faces to nearest of patches " + << patchNames << endl << endl; + } else { Info<< "Adding exposed internal faces to a patch called" << " \"oldInternalFaces\" (created if necessary)" << endl << endl; + exposedPatchIDs = labelList(1, label(-1)); } cellSet currentSet(mesh, setName); - subsetter.setLargeCellSubset(currentSet, patchI, true); + if (exposedPatchIDs.size() == 1) + { + subsetter.setLargeCellSubset(currentSet, exposedPatchIDs[0], true); + } + else + { + + // Find per face the nearest patch + labelList nearestExposedPatch(nearestPatch(mesh, exposedPatchIDs)); + + labelList region(mesh.nCells(), 0); + forAllConstIter(cellSet, currentSet, iter) + { + region[iter.key()] = 1; + } + + labelList exposedFaces(subsetter.getExposedFaces(region, 1, true)); + subsetter.setLargeCellSubset + ( + region, + 1, + exposedFaces, + UIndirectList<label>(nearestExposedPatch, exposedFaces)(), + true + ); + } + IOobjectList objects(mesh, runTime.timeName()); @@ -361,6 +517,42 @@ int main(int argc, char *argv[]) subsetPointFields(subsetter, pMesh, pointTensorNames, pointTensorFlds); + // Read dimensioned fields and subset + // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + typedef volScalarField::DimensionedInternalField dimScalType; + wordList scalarDimNames(objects.names(dimScalType::typeName)); + PtrList<dimScalType> scalarDimFlds(scalarDimNames.size()); + subsetDimensionedFields(subsetter, scalarDimNames, scalarDimFlds); + + typedef volVectorField::DimensionedInternalField dimVecType; + wordList vectorDimNames(objects.names(dimVecType::typeName)); + PtrList<dimVecType> vectorDimFlds(vectorDimNames.size()); + subsetDimensionedFields(subsetter, vectorDimNames, vectorDimFlds); + + typedef volSphericalTensorField::DimensionedInternalField dimSphereType; + wordList sphericalTensorDimNames(objects.names(dimSphereType::typeName)); + PtrList<dimSphereType> sphericalTensorDimFlds + ( + sphericalTensorDimNames.size() + ); + subsetDimensionedFields + ( + subsetter, + sphericalTensorDimNames, + sphericalTensorDimFlds + ); + + typedef volSymmTensorField::DimensionedInternalField dimSymmTensorType; + wordList symmTensorDimNames(objects.names(dimSymmTensorType::typeName)); + PtrList<dimSymmTensorType> symmTensorDimFlds(symmTensorDimNames.size()); + subsetDimensionedFields(subsetter, symmTensorDimNames, symmTensorDimFlds); + + typedef volTensorField::DimensionedInternalField dimTensorType; + wordList tensorDimNames(objects.names(dimTensorType::typeName)); + PtrList<dimTensorType> tensorDimFlds(tensorDimNames.size()); + subsetDimensionedFields(subsetter, tensorDimNames, tensorDimFlds); + // Write mesh and fields to new time // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -461,6 +653,33 @@ int main(int argc, char *argv[]) pointTensorFlds[i].write(); } + // DimensionedFields + forAll(scalarDimFlds, i) + { + scalarDimFlds[i].rename(scalarDimNames[i]); + scalarDimFlds[i].write(); + } + forAll(vectorDimFlds, i) + { + vectorDimFlds[i].rename(vectorDimNames[i]); + vectorDimFlds[i].write(); + } + forAll(sphericalTensorDimFlds, i) + { + sphericalTensorDimFlds[i].rename(sphericalTensorDimNames[i]); + sphericalTensorDimFlds[i].write(); + } + forAll(symmTensorDimFlds, i) + { + symmTensorDimFlds[i].rename(symmTensorDimNames[i]); + symmTensorDimFlds[i].write(); + } + forAll(tensorDimFlds, i) + { + tensorDimFlds[i].rename(tensorDimNames[i]); + tensorDimFlds[i].write(); + } + Info<< "\nEnd\n" << endl; diff --git a/applications/utilities/mesh/manipulation/topoSet/topoSetDict b/applications/utilities/mesh/manipulation/topoSet/topoSetDict index 5f0e5c0b39df3b00054a35303fab1e9bad40f819..045486fc217a1af988242d40a4ac5e4a53372eb5 100644 --- a/applications/utilities/mesh/manipulation/topoSet/topoSetDict +++ b/applications/utilities/mesh/manipulation/topoSet/topoSetDict @@ -372,19 +372,22 @@ FoamFile // // is the master side) // } // +// // Select based on faceSet, using supplied normal to determine orientation +// source setAndNormalToFaceZone; +// sourceInfo +// { +// faceSet f0; // name of faceSet +// normal (1 0 0); // normal orientation +// } +// // // Select based on surface. Orientation from normals on surface +// source searchableSurfaceToFaceZone; +// sourceInfo // { -// name fz0; -// type faceZoneSet; -// action new; -// source searchableSurfaceToFaceZone; -// sourceInfo -// { -// surface searchableSphere; -// centre (0.05 0.05 0.005); -// radius 0.025; -// //name sphere.stl; // Optional name if surface triSurfaceMesh -// } +// surface searchableSphere; +// centre (0.05 0.05 0.005); +// radius 0.025; +// //name sphere.stl; // Optional name if surface triSurfaceMesh // } // // @@ -413,7 +416,7 @@ actions name c0; type cellSet; action new; - source labelToCell; + source labelToCell; sourceInfo { value (12 13 56); diff --git a/applications/utilities/mesh/manipulation/transformPoints/transformPoints.C b/applications/utilities/mesh/manipulation/transformPoints/transformPoints.C index 692cfd76db3da1e1a45d1ce857248e789ed3c97f..d2181b25d754263e6500c070a8752622628868fe 100644 --- a/applications/utilities/mesh/manipulation/transformPoints/transformPoints.C +++ b/applications/utilities/mesh/manipulation/transformPoints/transformPoints.C @@ -308,6 +308,8 @@ int main(int argc, char *argv[]) Info<< "Writing points into directory " << points.path() << nl << endl; points.write(); + Info<< nl << "End" << nl << endl; + return 0; } diff --git a/applications/utilities/miscellaneous/foamDebugSwitches/foamDebugSwitches.C b/applications/utilities/miscellaneous/foamDebugSwitches/foamDebugSwitches.C index 1943b7d631b49ce7503f7429c5238b96e2e5ece1..1b5670fc83cd767d22cf7b4dec189333e8b11c3f 100644 --- a/applications/utilities/miscellaneous/foamDebugSwitches/foamDebugSwitches.C +++ b/applications/utilities/miscellaneous/foamDebugSwitches/foamDebugSwitches.C @@ -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 @@ -158,9 +158,7 @@ int main(int argc, char *argv[]) Info<< "OptimisationSwitches: " << currOpt << endl; } - - - Info<< "done" << endl; + Info<< nl << "End" << nl << endl; return 0; } diff --git a/applications/utilities/postProcessing/dataConversion/foamToVTK/foamToVTK.C b/applications/utilities/postProcessing/dataConversion/foamToVTK/foamToVTK.C index 2ef824b16941d7f70f1d4d8ab5c277f3ad233170..157af431bf7fb4a0d7cdcc5a16b5ec254b58d719 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToVTK/foamToVTK.C +++ b/applications/utilities/postProcessing/dataConversion/foamToVTK/foamToVTK.C @@ -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 @@ -601,6 +601,53 @@ int main(int argc, char *argv[]) + vtf.size(); + // Construct dimensioned fields + PtrList<volScalarField::DimensionedInternalField> dsf; + PtrList<volVectorField::DimensionedInternalField> dvf; + PtrList<volSphericalTensorField::DimensionedInternalField> dSpheretf; + PtrList<volSymmTensorField::DimensionedInternalField> dSymmtf; + PtrList<volTensorField::DimensionedInternalField> dtf; + + if (!specifiedFields || selectedFields.size()) + { + readFields(vMesh, vMesh.baseMesh(), objects, selectedFields, dsf); + print(" volScalarFields::Internal :", Info, dsf); + + readFields(vMesh, vMesh.baseMesh(), objects, selectedFields, dvf); + print(" volVectorFields::Internal :", Info, dvf); + + readFields + ( + vMesh, + vMesh.baseMesh(), + objects, + selectedFields, + dSpheretf + ); + print(" volSphericalTensorFields::Internal :", Info, dSpheretf); + + readFields + ( + vMesh, + vMesh.baseMesh(), + objects, + selectedFields, + dSymmtf + ); + print(" volSymmTensorFields::Internal :", Info, dSymmtf); + + readFields(vMesh, vMesh.baseMesh(), objects, selectedFields, dtf); + print(" volTensorFields::Internal :", Info, dtf); + } + + label nDimFields = + dsf.size() + + dvf.size() + + dSpheretf.size() + + dSymmtf.size() + + dtf.size(); + + // Construct pointMesh only if nessecary since constructs edge // addressing (expensive on polyhedral meshes) if (noPointValues) @@ -701,7 +748,7 @@ int main(int argc, char *argv[]) ( writer.os(), vMesh.nFieldCells(), - 1+nVolFields + 1 + nVolFields + nDimFields ); // Write cellID field @@ -714,13 +761,20 @@ int main(int argc, char *argv[]) writer.write(vSymmtf); writer.write(vtf); + // Write dimensionedFields + writer.write<scalar, volMesh>(dsf); + writer.write<vector, volMesh>(dvf); + writer.write<sphericalTensor, volMesh>(dSpheretf); + writer.write<symmTensor, volMesh>(dSymmtf); + writer.write<tensor, volMesh>(dtf); + if (!noPointValues) { writeFuns::writePointDataHeader ( writer.os(), vMesh.nFieldPoints(), - nVolFields+nPointFields + nVolFields + nDimFields + nPointFields ); // pointFields @@ -737,6 +791,12 @@ int main(int argc, char *argv[]) writer.write(pInterp, vSpheretf); writer.write(pInterp, vSymmtf); writer.write(pInterp, vtf); + + writer.write<scalar, volMesh>(pInterp, dsf); + writer.write<vector, volMesh>(pInterp, dvf); + writer.write<sphericalTensor, volMesh>(pInterp, dSpheretf); + writer.write<symmTensor, volMesh>(pInterp, dSymmtf); + writer.write<tensor, volMesh>(pInterp, dtf); } } diff --git a/applications/utilities/postProcessing/dataConversion/foamToVTK/internalWriter.H b/applications/utilities/postProcessing/dataConversion/foamToVTK/internalWriter.H index 9c456f843c7920d70d92d02aebe6027bbdac94c3..fa805c37b7cdbc5b6cf45b0fc6ed953694e93b60 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToVTK/internalWriter.H +++ b/applications/utilities/postProcessing/dataConversion/foamToVTK/internalWriter.H @@ -94,6 +94,13 @@ public: const PtrList<GeometricField<Type, PatchField, GeoMesh> >& ); + //- Write generic internal fields + template<class Type, class GeoMesh> + void write + ( + const PtrList<DimensionedField<Type, volMesh> >& flds + ); + //- Interpolate and write volFields template<class Type> void write @@ -101,6 +108,14 @@ public: const volPointInterpolation&, const PtrList<GeometricField<Type, fvPatchField, volMesh> >& ); + + //- Interpolate and internal fields + template<class Type, class GeoMesh> + void write + ( + const volPointInterpolation&, + const PtrList<DimensionedField<Type, volMesh> >& + ); }; diff --git a/applications/utilities/postProcessing/dataConversion/foamToVTK/internalWriterTemplates.C b/applications/utilities/postProcessing/dataConversion/foamToVTK/internalWriterTemplates.C index 853caca75bad51e58b8c369efc7454e40f33c45f..797f2d5661bcf36e85d073ab57a1554011a69aab 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToVTK/internalWriterTemplates.C +++ b/applications/utilities/postProcessing/dataConversion/foamToVTK/internalWriterTemplates.C @@ -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 @@ -41,6 +41,19 @@ void Foam::internalWriter::write } +template<class Type, class GeoMesh> +void Foam::internalWriter::write +( + const PtrList<DimensionedField<Type, volMesh> >& flds +) +{ + forAll(flds, i) + { + writeFuns::write(os_, binary_, flds[i], vMesh_); + } +} + + template<class Type> void Foam::internalWriter::write ( @@ -62,4 +75,25 @@ void Foam::internalWriter::write } +template<class Type, class GeoMesh> +void Foam::internalWriter::write +( + const volPointInterpolation& pInterp, + const PtrList<DimensionedField<Type, volMesh> >& flds +) +{ + forAll(flds, i) + { + writeFuns::write + ( + os_, + binary_, + flds[i], + pInterp.interpolate(flds[i])(), + vMesh_ + ); + } +} + + // ************************************************************************* // diff --git a/applications/utilities/postProcessing/dataConversion/foamToVTK/writeFuns.H b/applications/utilities/postProcessing/dataConversion/foamToVTK/writeFuns.H index 11f18b3d764cab397493cb5e5a18e4a6514f1529..56df1d5237d3690611c62c9046b76a3fc8375390 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToVTK/writeFuns.H +++ b/applications/utilities/postProcessing/dataConversion/foamToVTK/writeFuns.H @@ -113,7 +113,7 @@ public: ( std::ostream&, const bool binary, - const GeometricField<Type, fvPatchField, volMesh>&, + const DimensionedField<Type, volMesh>&, const vtkMesh& ); @@ -135,8 +135,8 @@ public: ( std::ostream&, const bool binary, - const GeometricField<Type, fvPatchField, volMesh>&, - const GeometricField<Type, pointPatchField, pointMesh>&, + const DimensionedField<Type, volMesh>&, + const DimensionedField<Type, pointMesh>&, const vtkMesh& ); @@ -150,6 +150,16 @@ public: const vtkMesh& ); + //- Write generic dimensioned internal fields + template<class Type> + static void write + ( + std::ostream&, + const bool binary, + const PtrList<DimensionedField<Type, volMesh> >&, + const vtkMesh& + ); + //- Interpolate and write volFields template<class Type> static void write diff --git a/applications/utilities/postProcessing/dataConversion/foamToVTK/writeFunsTemplates.C b/applications/utilities/postProcessing/dataConversion/foamToVTK/writeFunsTemplates.C index 5fe5d076dd03668b9be15251598d1ba84dae236e..3082da1e6199bc454e75c848049c937e1724d613 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToVTK/writeFunsTemplates.C +++ b/applications/utilities/postProcessing/dataConversion/foamToVTK/writeFunsTemplates.C @@ -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 @@ -64,7 +64,7 @@ void Foam::writeFuns::write ( std::ostream& os, const bool binary, - const GeometricField<Type, fvPatchField, volMesh>& vvf, + const DimensionedField<Type, volMesh>& vvf, const vtkMesh& vMesh ) { @@ -79,7 +79,7 @@ void Foam::writeFuns::write DynamicList<floatScalar> fField(pTraits<Type>::nComponents*nValues); - insert(vvf.internalField(), fField); + insert(vvf, fField); forAll(superCells, superCellI) { @@ -128,8 +128,8 @@ void Foam::writeFuns::write ( std::ostream& os, const bool binary, - const GeometricField<Type, fvPatchField, volMesh>& vvf, - const GeometricField<Type, pointPatchField, pointMesh>& pvf, + const DimensionedField<Type, volMesh>& vvf, + const DimensionedField<Type, pointMesh>& pvf, const vtkMesh& vMesh ) { @@ -164,6 +164,22 @@ void Foam::writeFuns::write const PtrList<GeometricField<Type, PatchField, GeoMesh> >& flds, const vtkMesh& vMesh ) +{ + forAll(flds, i) + { + write(os, binary, flds[i].dimensionedInternalField(), vMesh); + } +} + + +template<class Type> +void Foam::writeFuns::write +( + std::ostream& os, + const bool binary, + const PtrList<DimensionedField<Type, volMesh> >& flds, + const vtkMesh& vMesh +) { forAll(flds, i) { diff --git a/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4Foam.H b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4Foam.H index 0bd35573e1d9a0b14caf09034c4d618742366f41..78e4496f176dfc6692e7aa0f1143dd25563a0c39 100644 --- a/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4Foam.H +++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4Foam.H @@ -390,15 +390,6 @@ class vtkPV4Foam //- Reduce memory footprint after conversion void reduceMemory(); - //- Volume fields - void updateVolFields(vtkMultiBlockDataSet*); - - //- Point fields - void updatePointFields(vtkMultiBlockDataSet*); - - //- Lagrangian fields - void updateLagrangianFields(vtkMultiBlockDataSet*); - // Mesh conversion functions @@ -492,6 +483,16 @@ class vtkPV4Foam // Convert OpenFOAM fields + //- Volume field - all types + template<class Type> + void convertVolField + ( + const PtrList<PrimitivePatchInterpolation<primitivePatch> >&, + const GeometricField<Type, fvPatchField, volMesh>&, + const bool interpFields, + vtkMultiBlockDataSet* output + ); + //- Volume fields - all types template<class Type> void convertVolFields @@ -503,6 +504,17 @@ class vtkPV4Foam vtkMultiBlockDataSet* output ); + //- Volume internal fields (DimensionedField)- all types + template<class Type> + void convertDimFields + ( + const fvMesh&, + const PtrList<PrimitivePatchInterpolation<primitivePatch> >&, + const IOobjectList&, + const bool interpFields, + vtkMultiBlockDataSet* output + ); + //- Volume field - all selected parts template<class Type> void convertVolFieldBlock diff --git a/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamFields.C b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamFields.C index 127f49d30614c8b62fa288b40c5a1cc78c3b2cbe..ec28f4dfe85d98de20951c62774d82177eca3e4d 100644 --- a/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamFields.C +++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamFields.C @@ -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 @@ -143,6 +143,27 @@ void Foam::vtkPV4Foam::convertVolFields mesh, ppInterpList, objects, interpFields, output ); + convertDimFields<scalar> + ( + mesh, ppInterpList, objects, interpFields, output + ); + convertDimFields<vector> + ( + mesh, ppInterpList, objects, interpFields, output + ); + convertDimFields<sphericalTensor> + ( + mesh, ppInterpList, objects, interpFields, output + ); + convertDimFields<symmTensor> + ( + mesh, ppInterpList, objects, interpFields, output + ); + convertDimFields<tensor> + ( + mesh, ppInterpList, objects, interpFields, output + ); + if (debug) { Info<< "<end> Foam::vtkPV4Foam::convertVolFields" << endl; diff --git a/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamUpdateInfoFields.H b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamUpdateInfoFields.H index b191e1c52bc5e969e87ea260f3ab3f1c69e649eb..784432ea4b1d1801d8500ffb57826d86902242c3 100644 --- a/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamUpdateInfoFields.H +++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamUpdateInfoFields.H @@ -99,6 +99,34 @@ void Foam::vtkPV4Foam::updateInfoFields objects ); + //- Add dimensioned fields to GUI + addToSelection<DimensionedField<scalar, meshType> > + ( + select, + objects + ); + addToSelection<DimensionedField<vector, meshType> > + ( + select, + objects + ); + addToSelection<DimensionedField<sphericalTensor, meshType> > + ( + select, + objects + ); + addToSelection<DimensionedField<symmTensor, meshType> > + ( + select, + objects + ); + addToSelection<DimensionedField<tensor, meshType> > + ( + select, + objects + ); + + // restore the enabled selections setSelectedArrayEntries(select, enabledEntries); diff --git a/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamVolFields.H b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamVolFields.H index f4757a613732a9c38d14f46c9b18b21bfa28c6ab..fbc51aeaa1c159759f83dc9d28a697126d18705c 100644 --- a/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamVolFields.H +++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamVolFields.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 @@ -34,6 +34,7 @@ InClass #include "wallPolyPatch.H" #include "faceSet.H" #include "volPointInterpolation.H" +#include "zeroGradientFvPatchField.H" #include "vtkPV4FoamFaceField.H" #include "vtkPV4FoamPatchField.H" @@ -43,239 +44,315 @@ InClass // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // template<class Type> -void Foam::vtkPV4Foam::convertVolFields +void Foam::vtkPV4Foam::convertVolField ( - const fvMesh& mesh, const PtrList<PrimitivePatchInterpolation<primitivePatch> >& ppInterpList, - const IOobjectList& objects, + const GeometricField<Type, fvPatchField, volMesh>& tf, const bool interpFields, vtkMultiBlockDataSet* output ) { + const fvMesh& mesh = tf.mesh(); const polyBoundaryMesh& patches = mesh.boundaryMesh(); - forAllConstIter(IOobjectList, objects, iter) + // Interpolated field (demand driven) + autoPtr<GeometricField<Type, pointPatchField, pointMesh> > ptfPtr; + if (interpFields) { - // restrict to GeometricField<Type, ...> - if - ( - iter()->headerClassName() - != GeometricField<Type, fvPatchField, volMesh>::typeName - ) + if (debug) { - continue; + Info<< "convertVolFieldBlock interpolating:" << tf.name() + << endl; } - // Load field - GeometricField<Type, fvPatchField, volMesh> tf + ptfPtr.reset ( - *iter(), - mesh + volPointInterpolation::New(mesh).interpolate(tf).ptr() ); - - // Interpolated field (demand driven) - autoPtr<GeometricField<Type, pointPatchField, pointMesh> > ptfPtr; - if (interpFields) - { - if (debug) - { - Info<< "convertVolFieldBlock interpolating:" << tf.name() - << endl; - } - - ptfPtr.reset - ( - volPointInterpolation::New(tf.mesh()).interpolate(tf).ptr() - ); - } + } - // Convert activated internalMesh regions - convertVolFieldBlock - ( - tf, - ptfPtr, - output, - arrayRangeVolume_, - regionPolyDecomp_ - ); - - // Convert activated cellZones - convertVolFieldBlock - ( - tf, - ptfPtr, - output, - arrayRangeCellZones_, - zonePolyDecomp_ - ); + // Convert activated internalMesh regions + convertVolFieldBlock + ( + tf, + ptfPtr, + output, + arrayRangeVolume_, + regionPolyDecomp_ + ); + + // Convert activated cellZones + convertVolFieldBlock + ( + tf, + ptfPtr, + output, + arrayRangeCellZones_, + zonePolyDecomp_ + ); + + // Convert activated cellSets + convertVolFieldBlock + ( + tf, + ptfPtr, + output, + arrayRangeCellSets_, + csetPolyDecomp_ + ); + + + // + // Convert patches - if activated + // + for + ( + int partId = arrayRangePatches_.start(); + partId < arrayRangePatches_.end(); + ++partId + ) + { + const word patchName = getPartName(partId); + const label datasetNo = partDataset_[partId]; + const label patchId = patches.findPatchID(patchName); - // Convert activated cellSets - convertVolFieldBlock - ( - tf, - ptfPtr, - output, - arrayRangeCellSets_, - csetPolyDecomp_ - ); + if (!partStatus_[partId] || datasetNo < 0 || patchId < 0) + { + continue; + } + const fvPatchField<Type>& ptf = tf.boundaryField()[patchId]; - // - // Convert patches - if activated - // - for + if ( - int partId = arrayRangePatches_.start(); - partId < arrayRangePatches_.end(); - ++partId + isType<emptyFvPatchField<Type> >(ptf) + || + ( + reader_->GetExtrapolatePatches() + && !polyPatch::constraintType(patches[patchId].type()) + ) ) { - const word patchName = getPartName(partId); - const label datasetNo = partDataset_[partId]; - const label patchId = patches.findPatchID(patchName); + fvPatch p(ptf.patch().patch(), mesh.boundary()); - if (!partStatus_[partId] || datasetNo < 0 || patchId < 0) - { - continue; - } - - const fvPatchField<Type>& ptf = tf.boundaryField()[patchId]; - - if + tmp<Field<Type> > tpptf ( - isType<emptyFvPatchField<Type> >(ptf) - || - ( - reader_->GetExtrapolatePatches() - && !polyPatch::constraintType(patches[patchId].type()) - ) - ) - { - fvPatch p(ptf.patch().patch(), tf.mesh().boundary()); + fvPatchField<Type>(p, tf).patchInternalField() + ); - tmp<Field<Type> > tpptf - ( - fvPatchField<Type>(p, tf).patchInternalField() - ); + convertPatchField + ( + tf.name(), + tpptf(), + output, + arrayRangePatches_, + datasetNo + ); - convertPatchField + if (interpFields) + { + convertPatchPointField ( tf.name(), - tpptf(), + ppInterpList[patchId].faceToPointInterpolate(tpptf)(), output, arrayRangePatches_, datasetNo ); - - if (interpFields) - { - convertPatchPointField - ( - tf.name(), - ppInterpList[patchId].faceToPointInterpolate(tpptf)(), - output, - arrayRangePatches_, - datasetNo - ); - } } - else + } + else + { + convertPatchField + ( + tf.name(), + ptf, + output, + arrayRangePatches_, + datasetNo + ); + + if (interpFields) { - convertPatchField + convertPatchPointField ( tf.name(), - ptf, + ppInterpList[patchId].faceToPointInterpolate(ptf)(), output, arrayRangePatches_, datasetNo ); - - if (interpFields) - { - convertPatchPointField - ( - tf.name(), - ppInterpList[patchId].faceToPointInterpolate(ptf)(), - output, - arrayRangePatches_, - datasetNo - ); - } } } + } + + // + // Convert face zones - if activated + // + for + ( + int partId = arrayRangeFaceZones_.start(); + partId < arrayRangeFaceZones_.end(); + ++partId + ) + { + const word zoneName = getPartName(partId); + const label datasetNo = partDataset_[partId]; + + if (!partStatus_[partId] || datasetNo < 0) + { + continue; + } + + const faceZoneMesh& zMesh = mesh.faceZones(); + const label zoneId = zMesh.findZoneID(zoneName); - // - // Convert face zones - if activated - // - for + if (zoneId < 0) + { + continue; + } + + convertFaceField ( - int partId = arrayRangeFaceZones_.start(); - partId < arrayRangeFaceZones_.end(); - ++partId - ) + tf, + output, + arrayRangeFaceZones_, + datasetNo, + mesh, + zMesh[zoneId] + ); + + // TODO: points + } + + // + // Convert face sets - if activated + // + for + ( + int partId = arrayRangeFaceSets_.start(); + partId < arrayRangeFaceSets_.end(); + ++partId + ) + { + const word selectName = getPartName(partId); + const label datasetNo = partDataset_[partId]; + + if (!partStatus_[partId] || datasetNo < 0) { - const word zoneName = getPartName(partId); - const label datasetNo = partDataset_[partId]; + continue; + } - if (!partStatus_[partId] || datasetNo < 0) - { - continue; - } + const faceSet fSet(mesh, selectName); - const faceZoneMesh& zMesh = mesh.faceZones(); - const label zoneId = zMesh.findZoneID(zoneName); + convertFaceField + ( + tf, + output, + arrayRangeFaceSets_, + datasetNo, + mesh, + fSet.toc() + ); - if (zoneId < 0) - { - continue; - } + // TODO: points + } +} - convertFaceField - ( - tf, - output, - arrayRangeFaceZones_, - datasetNo, - mesh, - zMesh[zoneId] - ); - // TODO: points +template<class Type> +void Foam::vtkPV4Foam::convertVolFields +( + const fvMesh& mesh, + const PtrList<PrimitivePatchInterpolation<primitivePatch> >& ppInterpList, + const IOobjectList& objects, + const bool interpFields, + vtkMultiBlockDataSet* output +) +{ + forAllConstIter(IOobjectList, objects, iter) + { + // restrict to GeometricField<Type, ...> + if + ( + iter()->headerClassName() + != GeometricField<Type, fvPatchField, volMesh>::typeName + ) + { + continue; } - // - // Convert face sets - if activated - // - for + // Load field + GeometricField<Type, fvPatchField, volMesh> tf + ( + *iter(), + mesh + ); + + // Convert + convertVolField(ppInterpList, tf, interpFields, output); + } +} + + +template<class Type> +void Foam::vtkPV4Foam::convertDimFields +( + const fvMesh& mesh, + const PtrList<PrimitivePatchInterpolation<primitivePatch> >& ppInterpList, + const IOobjectList& objects, + const bool interpFields, + vtkMultiBlockDataSet* output +) +{ + forAllConstIter(IOobjectList, objects, iter) + { + // restrict to DimensionedField<Type, ...> + if ( - int partId = arrayRangeFaceSets_.start(); - partId < arrayRangeFaceSets_.end(); - ++partId + iter()->headerClassName() + != DimensionedField<Type, volMesh>::typeName ) { - const word selectName = getPartName(partId); - const label datasetNo = partDataset_[partId]; + continue; + } - if (!partStatus_[partId] || datasetNo < 0) - { - continue; - } + // Load field + DimensionedField<Type, volMesh> dimFld(*iter(), mesh); + + + // Construct volField with zero-gradient patch fields - const faceSet fSet(mesh, selectName); + IOobject io(dimFld); + io.readOpt() = IOobject::NO_READ; - convertFaceField + PtrList<fvPatchField<Type> > patchFields(mesh.boundary().size()); + forAll(patchFields, patchI) + { + patchFields.set ( - tf, - output, - arrayRangeFaceSets_, - datasetNo, - mesh, - fSet.toc() + patchI, + fvPatchField<Type>::New + ( + zeroGradientFvPatchField<scalar>::typeName, + mesh.boundary()[patchI], + dimFld + ) ); - - // TODO: points } + + GeometricField<Type, fvPatchField, volMesh> volFld + ( + io, + dimFld.mesh(), + dimFld.dimensions(), + dimFld, + patchFields + ); + volFld.correctBoundaryConditions(); + + convertVolField(ppInterpList, volFld, interpFields, output); } } diff --git a/applications/utilities/postProcessing/lagrangian/particleTracks/particleTracks.C b/applications/utilities/postProcessing/lagrangian/particleTracks/particleTracks.C index 4988fc969f871553df55c3e3f5c36ab1ba092845..83f9bc2ebb92a5c33e650e7dd43f189ee41856a5 100644 --- a/applications/utilities/postProcessing/lagrangian/particleTracks/particleTracks.C +++ b/applications/utilities/postProcessing/lagrangian/particleTracks/particleTracks.C @@ -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 @@ -247,6 +247,8 @@ int main(int argc, char *argv[]) ); } + Info<< "End\n" << endl; + return 0; } diff --git a/applications/utilities/postProcessing/lagrangian/steadyParticleTracks/steadyParticleTracks.C b/applications/utilities/postProcessing/lagrangian/steadyParticleTracks/steadyParticleTracks.C index 4d2ab943acab92eacfedb38d57d1bb1c0e472c28..2941df5d5a0c2166bbf55c01dbbb0e5893e67d33 100644 --- a/applications/utilities/postProcessing/lagrangian/steadyParticleTracks/steadyParticleTracks.C +++ b/applications/utilities/postProcessing/lagrangian/steadyParticleTracks/steadyParticleTracks.C @@ -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 @@ -331,7 +331,7 @@ int main(int argc, char *argv[]) Info<< endl; } - Info<< "\ndone" << endl; + Info<< "End" << nl << endl; return 0; } diff --git a/applications/utilities/postProcessing/miscellaneous/execFlowFunctionObjects/execFlowFunctionObjects.C b/applications/utilities/postProcessing/miscellaneous/execFlowFunctionObjects/execFlowFunctionObjects.C index 8e0c2ce7cf4e356a8f07fbcb608edf64ed59090f..40b6b1f4fbd6d7d74ee4468aa5b1384728d37cc1 100644 --- a/applications/utilities/postProcessing/miscellaneous/execFlowFunctionObjects/execFlowFunctionObjects.C +++ b/applications/utilities/postProcessing/miscellaneous/execFlowFunctionObjects/execFlowFunctionObjects.C @@ -156,7 +156,11 @@ void calc functionObjectList& fol ) { - if (args.optionFound("noFlow")) + if (args.optionFound("noRead")) + { + fol.execute(true); + } + else if (args.optionFound("noFlow")) { Info<< " Operating in no-flow mode; no models will be loaded." << " All vol, surface and point fields will be loaded." << endl; diff --git a/applications/utilities/postProcessing/miscellaneous/ptot/ptot.C b/applications/utilities/postProcessing/miscellaneous/ptot/ptot.C index 41ca2101798370bdb5957412309acb2a9725b529..3f3213cd3e46bf13c6daf2961788651a0a1a2549 100644 --- a/applications/utilities/postProcessing/miscellaneous/ptot/ptot.C +++ b/applications/utilities/postProcessing/miscellaneous/ptot/ptot.C @@ -138,6 +138,8 @@ int main(int argc, char *argv[]) Info<< endl; } + Info<< "End" << nl << endl; + return 0; } diff --git a/applications/utilities/postProcessing/miscellaneous/wdot/wdot.C b/applications/utilities/postProcessing/miscellaneous/wdot/wdot.C index e670d9150f9a9b681c784192af0a19c86dc9e306..873bb53a72ce1cdb2fe5710de453e94da21e0d12 100644 --- a/applications/utilities/postProcessing/miscellaneous/wdot/wdot.C +++ b/applications/utilities/postProcessing/miscellaneous/wdot/wdot.C @@ -49,6 +49,8 @@ int main(int argc, char *argv[]) { runTime.setTime(timeDirs[timeI], timeI); + Info<< "Time = " << runTime.timeName() << endl; + mesh.readUpdate(); volScalarField mgb @@ -114,8 +116,12 @@ int main(int argc, char *argv[]) ); wdot.write(); + + Info<< endl; } + Info<< "End" << nl << endl; + return 0; } diff --git a/applications/utilities/postProcessing/scalarField/pPrime2/pPrime2.C b/applications/utilities/postProcessing/scalarField/pPrime2/pPrime2.C index 7848679a25bac75289980a2776971957e883129d..f03ed13570035c3016eb024c7400406c71c6e66e 100644 --- a/applications/utilities/postProcessing/scalarField/pPrime2/pPrime2.C +++ b/applications/utilities/postProcessing/scalarField/pPrime2/pPrime2.C @@ -105,6 +105,8 @@ int main(int argc, char *argv[]) Info<< endl; } + Info<< nl << "End" << nl << endl; + return 0; } diff --git a/applications/utilities/postProcessing/velocityField/Mach/Mach.C b/applications/utilities/postProcessing/velocityField/Mach/Mach.C index 39136a389b2547360a721adffad3f6b5e4a6da4d..a65eb0a07ccb22e0b92c206ecf0d40128a9b6845 100644 --- a/applications/utilities/postProcessing/velocityField/Mach/Mach.C +++ b/applications/utilities/postProcessing/velocityField/Mach/Mach.C @@ -144,7 +144,7 @@ void Foam::calc(const argList& args, const Time& runTime, const fvMesh& mesh) Info<< " Missing U or T" << endl; } - Info<< "\nEnd\n" << endl; + Info<< nl << "End" << nl << endl; } diff --git a/applications/utilities/postProcessing/velocityField/Pe/Pe.C b/applications/utilities/postProcessing/velocityField/Pe/Pe.C index a82837d83cdbb1eee6c818ec5335d5b9dda8488e..c52565af503629962b5f6932cb82e8bada53f13d 100644 --- a/applications/utilities/postProcessing/velocityField/Pe/Pe.C +++ b/applications/utilities/postProcessing/velocityField/Pe/Pe.C @@ -274,6 +274,8 @@ void Foam::calc(const argList& args, const Time& runTime, const fvMesh& mesh) { Info<< " No phi" << endl; } + + Info<< "End" << nl << endl; } diff --git a/applications/utilities/preProcessing/applyBoundaryLayer/applyBoundaryLayer.C b/applications/utilities/preProcessing/applyBoundaryLayer/applyBoundaryLayer.C index e00f12b48ebfccf6f14fbf25ef276358deaee5ae..d55085ee33012f67abcf30d1f12ca9b75603c152 100644 --- a/applications/utilities/preProcessing/applyBoundaryLayer/applyBoundaryLayer.C +++ b/applications/utilities/preProcessing/applyBoundaryLayer/applyBoundaryLayer.C @@ -3,7 +3,7 @@ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation - \\/ M anipulation | + \\/ M anipulation | Copyright (C) 2015 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -33,6 +33,10 @@ Description the thickness coefficient supplied via the option -Cbl. If both options are provided -ybl is used. + Compressible modes is automatically selected based on the existence of the + "thermophysicalProperties" dictionary required to construct the + thermodynamics package. + \*---------------------------------------------------------------------------*/ #include "fvCFD.H" @@ -331,11 +335,6 @@ int main(int argc, char *argv[]) "scalar", "boundary-layer thickness as Cbl * mean distance to wall" ); - argList::addBoolOption - ( - "compressible", - "apply to compressible case" - ); #include "setRootCase.H" @@ -360,8 +359,6 @@ int main(int argc, char *argv[]) #include "createNamedMesh.H" #include "createFields.H" - const bool compressible = args.optionFound("compressible"); - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // Modify velocity by applying a 1/7th power law boundary-layer @@ -384,7 +381,15 @@ int main(int argc, char *argv[]) U.write(); - if (compressible) + if + ( + IOobject + ( + basicThermo::dictName, + runTime.constant(), + mesh + ).headerOk() + ) { calcCompressible(mesh, mask, U, y, ybl); } diff --git a/applications/utilities/preProcessing/boxTurb/boxTurb.C b/applications/utilities/preProcessing/boxTurb/boxTurb.C index 55a35322abad886d8ba68dea721168ca2027fe8e..4ed0356e1cc1976078d4d7c8c7a2931c1ff49322 100644 --- a/applications/utilities/preProcessing/boxTurb/boxTurb.C +++ b/applications/utilities/preProcessing/boxTurb/boxTurb.C @@ -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 @@ -74,7 +74,7 @@ int main(int argc, char *argv[]) runTime.graphFormat() ); - Info<< "end" << endl; + Info<< "End" << nl << endl; return 0; } diff --git a/applications/utilities/preProcessing/changeDictionary/changeDictionary.C b/applications/utilities/preProcessing/changeDictionary/changeDictionary.C index a6b18b6114f6b30be960ef421d95a1d2a1f78ae7..906127a268b64fbd7ef96d1aceb15217fee018c5 100644 --- a/applications/utilities/preProcessing/changeDictionary/changeDictionary.C +++ b/applications/utilities/preProcessing/changeDictionary/changeDictionary.C @@ -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-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -612,41 +612,51 @@ int main(int argc, char *argv[]) } else { - // Read dictionary. (disable class type checking so we can load - // field) + // Read dictionary + // Note: disable class type checking so we can load field Info<< "Loading dictionary " << fieldName << endl; const word oldTypeName = IOdictionary::typeName; const_cast<word&>(IOdictionary::typeName) = word::null; - IOdictionary fieldDict + IOobject fieldHeader ( - IOobject - ( - fieldName, - instance, - mesh, - IOobject::MUST_READ_IF_MODIFIED, - IOobject::NO_WRITE, - false - ) + fieldName, + instance, + mesh, + IOobject::MUST_READ_IF_MODIFIED, + IOobject::NO_WRITE, + false ); - const_cast<word&>(IOdictionary::typeName) = oldTypeName; - // Fake type back to what was in field - const_cast<word&>(fieldDict.type()) = fieldDict.headerClassName(); + if (fieldHeader.headerOk()) + { + IOdictionary fieldDict(fieldHeader); - Info<< "Loaded dictionary " << fieldName - << " with entries " << fieldDict.toc() << endl; + const_cast<word&>(IOdictionary::typeName) = oldTypeName; - // Get the replacement dictionary for the field - const dictionary& replaceDict = fieldIter().dict(); - Info<< "Merging entries from " << replaceDict.toc() << endl; + // Fake type back to what was in field + const_cast<word&>(fieldDict.type()) = + fieldDict.headerClassName(); - // Merge the replacements in - merge(fieldDict, replaceDict, literalRE, patchGroups); + Info<< "Loaded dictionary " << fieldName + << " with entries " << fieldDict.toc() << endl; + + // Get the replacement dictionary for the field + const dictionary& replaceDict = fieldIter().dict(); + Info<< "Merging entries from " << replaceDict.toc() << endl; - Info<< "Writing modified fieldDict " << fieldName << endl; - fieldDict.regIOobject::write(); + // Merge the replacements in + merge(fieldDict, replaceDict, literalRE, patchGroups); + + Info<< "Writing modified fieldDict " << fieldName << endl; + fieldDict.regIOobject::write(); + } + else + { + WarningIn(args.executable()) + << "Requested field to change " << fieldName + << " does not exist in " << fieldHeader.path() << endl; + } } } diff --git a/applications/utilities/preProcessing/engineSwirl/engineSwirl.C b/applications/utilities/preProcessing/engineSwirl/engineSwirl.C index 43e86814c39bb039d56185b8db3cf16d0ee01ac5..4652cb2afd9c5f6a54b43dc10e32c757d688b592 100644 --- a/applications/utilities/preProcessing/engineSwirl/engineSwirl.C +++ b/applications/utilities/preProcessing/engineSwirl/engineSwirl.C @@ -72,7 +72,7 @@ int main(int argc, char *argv[]) U.write(); - Info<< "\n end\n"; + Info<< nl << "End" << nl << endl; return 0; } diff --git a/applications/utilities/surface/surfaceBooleanFeatures/CGAL3DKernel.H b/applications/utilities/surface/surfaceBooleanFeatures/CGAL3DKernel.H index e753060ce0f161ee68bdc4e2c5fd29eb53ada8ea..7fda691d056ad88b3ec156aadf77217e4e461126 100644 --- a/applications/utilities/surface/surfaceBooleanFeatures/CGAL3DKernel.H +++ b/applications/utilities/surface/surfaceBooleanFeatures/CGAL3DKernel.H @@ -3,7 +3,7 @@ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2015 OpenFOAM Foundation - \\/ M anipulation | Copyright (C) 2015 OpenCFD Ltd. + \\/ M anipulation | ------------------------------------------------------------------------------- License This file is part of OpenFOAM. diff --git a/applications/utilities/surface/surfaceBooleanFeatures/CGALIndexedPolyhedron.H b/applications/utilities/surface/surfaceBooleanFeatures/CGALIndexedPolyhedron.H index 0eba1bee2f3511207ae228de722e73f686e9c78b..e17039cd03407bad863e3ff2ad513ebbf46d20da 100644 --- a/applications/utilities/surface/surfaceBooleanFeatures/CGALIndexedPolyhedron.H +++ b/applications/utilities/surface/surfaceBooleanFeatures/CGALIndexedPolyhedron.H @@ -3,7 +3,7 @@ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2015 OpenFOAM Foundation - \\/ M anipulation | Copyright (C) 2015 OpenCFD Ltd. + \\/ M anipulation | ------------------------------------------------------------------------------- License This file is part of OpenFOAM. diff --git a/applications/utilities/surface/surfaceBooleanFeatures/PolyhedronReader/PolyhedronReader.C b/applications/utilities/surface/surfaceBooleanFeatures/PolyhedronReader/PolyhedronReader.C index 462b9a6f05ab278d1cc76188cf930b6bb6a94bda..693237a7eafcca9dfa5bdff001c7916f41f1cf0c 100644 --- a/applications/utilities/surface/surfaceBooleanFeatures/PolyhedronReader/PolyhedronReader.C +++ b/applications/utilities/surface/surfaceBooleanFeatures/PolyhedronReader/PolyhedronReader.C @@ -3,7 +3,7 @@ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2015 OpenFOAM Foundation - \\/ M anipulation | Copyright (C) 2015 OpenCFD Ltd. + \\/ M anipulation | ------------------------------------------------------------------------------- License This file is part of OpenFOAM. diff --git a/applications/utilities/surface/surfaceBooleanFeatures/PolyhedronReader/PolyhedronReader.H b/applications/utilities/surface/surfaceBooleanFeatures/PolyhedronReader/PolyhedronReader.H index ef3e88a0ac3ecce27e3e27306807c80754d411df..bf1abc1e2aa4932797d2a58c4a3e68a500cd8b64 100644 --- a/applications/utilities/surface/surfaceBooleanFeatures/PolyhedronReader/PolyhedronReader.H +++ b/applications/utilities/surface/surfaceBooleanFeatures/PolyhedronReader/PolyhedronReader.H @@ -3,7 +3,7 @@ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2015 OpenFOAM Foundation - \\/ M anipulation | Copyright (C) 2015 OpenCFD Ltd. + \\/ M anipulation | ------------------------------------------------------------------------------- License This file is part of OpenFOAM. diff --git a/applications/utilities/surface/surfaceBooleanFeatures/PolyhedronReader/PolyhedronReaderTemplates.C b/applications/utilities/surface/surfaceBooleanFeatures/PolyhedronReader/PolyhedronReaderTemplates.C index 53ea3b1b87b5349f578cb7f622121ad1404e0ac6..76a192c10863b859a8b56918b008a5ef105e27bd 100644 --- a/applications/utilities/surface/surfaceBooleanFeatures/PolyhedronReader/PolyhedronReaderTemplates.C +++ b/applications/utilities/surface/surfaceBooleanFeatures/PolyhedronReader/PolyhedronReaderTemplates.C @@ -3,7 +3,7 @@ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2015 OpenFOAM Foundation - \\/ M anipulation | Copyright (C) 2015 OpenCFD Ltd. + \\/ M anipulation | ------------------------------------------------------------------------------- License This file is part of OpenFOAM. diff --git a/applications/utilities/surface/surfaceBooleanFeatures/surfaceBooleanFeatures.C b/applications/utilities/surface/surfaceBooleanFeatures/surfaceBooleanFeatures.C index e948cd1fdbc59b7a7dfc48eac2fe7d86bc1d94e4..34a692563727d1a458c3085d81db327baba3c449 100644 --- a/applications/utilities/surface/surfaceBooleanFeatures/surfaceBooleanFeatures.C +++ b/applications/utilities/surface/surfaceBooleanFeatures/surfaceBooleanFeatures.C @@ -3,7 +3,7 @@ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation - \\/ M anipulation | Copyright (C) 2015 OpenCFD Ltd. + \\/ M anipulation | ------------------------------------------------------------------------------- License This file is part of OpenFOAM. diff --git a/applications/utilities/surface/surfaceCheck/surfaceCheck.C b/applications/utilities/surface/surfaceCheck/surfaceCheck.C index c292ebe6b5ca8e577d96bdb32d8363cf7e0184d2..f94c5cb82fa513699f106bb1d73be2481af62da1 100644 --- a/applications/utilities/surface/surfaceCheck/surfaceCheck.C +++ b/applications/utilities/surface/surfaceCheck/surfaceCheck.C @@ -3,7 +3,7 @@ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation - \\/ M anipulation | Copyright (C) 2015 OpenCFD Ltd. + \\/ M anipulation | ------------------------------------------------------------------------------- License This file is part of OpenFOAM. diff --git a/applications/utilities/surface/surfaceFeatureConvert/surfaceFeatureConvert.C b/applications/utilities/surface/surfaceFeatureConvert/surfaceFeatureConvert.C index e62bee9a68f5e86486d75d39aa016ee8fb6a7a81..a35579ac4b00f28bcb480d3942ef7eee74154f10 100644 --- a/applications/utilities/surface/surfaceFeatureConvert/surfaceFeatureConvert.C +++ b/applications/utilities/surface/surfaceFeatureConvert/surfaceFeatureConvert.C @@ -2,8 +2,8 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation - \\/ M anipulation | Copyright (C) 2015 OpenCFD Ltd. + \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation + \\/ M anipulation | ------------------------------------------------------------------------------- License This file is part of OpenFOAM. diff --git a/applications/utilities/surface/surfaceInertia/surfaceInertia.C b/applications/utilities/surface/surfaceInertia/surfaceInertia.C index 14ff3cc5c8b46999f065bc5c79d23c8f1de485b9..d4c7a757c967216c15b217d8888bf32df207d31d 100644 --- a/applications/utilities/surface/surfaceInertia/surfaceInertia.C +++ b/applications/utilities/surface/surfaceInertia/surfaceInertia.C @@ -2,8 +2,8 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation - \\/ M anipulation | Copyright (C) 2015 OpenCFD Ltd. + \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation + \\/ M anipulation | ------------------------------------------------------------------------------- License This file is part of OpenFOAM. diff --git a/applications/utilities/surface/surfaceInflate/surfaceInflate.C b/applications/utilities/surface/surfaceInflate/surfaceInflate.C index dfc415432178c878c1e389e1b421fec1e82f2783..a1b4329935af264c3d00571109c635da6cbcd92a 100644 --- a/applications/utilities/surface/surfaceInflate/surfaceInflate.C +++ b/applications/utilities/surface/surfaceInflate/surfaceInflate.C @@ -3,7 +3,7 @@ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2015 OpenFOAM Foundation - \\/ M anipulation | Copyright (C) 2015 OpenCFD Ltd. + \\/ M anipulation | ------------------------------------------------------------------------------- License This file is part of OpenFOAM. diff --git a/applications/utilities/surface/surfaceLambdaMuSmooth/surfaceLambdaMuSmooth.C b/applications/utilities/surface/surfaceLambdaMuSmooth/surfaceLambdaMuSmooth.C index 93f29a2283c94fbf9e7bd3f529d538449ae4a900..26972f2a38ac3c8fa98057e8b82b676c4f0462df 100644 --- a/applications/utilities/surface/surfaceLambdaMuSmooth/surfaceLambdaMuSmooth.C +++ b/applications/utilities/surface/surfaceLambdaMuSmooth/surfaceLambdaMuSmooth.C @@ -2,8 +2,8 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation - \\/ M anipulation | Copyright (C) 2015 OpenCFD Ltd. + \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation + \\/ M anipulation | ------------------------------------------------------------------------------- License This file is part of OpenFOAM. diff --git a/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/autoPatch.C b/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/autoPatch.C index e8ca9a0125c5906bb12e58053eedab8fd8f2cc2e..5ff45cecc0b1b92b0b300b1e96cf536259ac9e6a 100644 --- a/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/autoPatch.C +++ b/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/autoPatch.C @@ -3,7 +3,7 @@ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2014 OpenFOAM Foundation - \\/ M anipulation | Copyright (C) 2015 OpenCFD Ltd. + \\/ M anipulation | ------------------------------------------------------------------------------- License This file is part of OpenFOAM. diff --git a/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/autoPatch.H b/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/autoPatch.H index 4a7e0459b3447cca87c50c3ecc45b3291fd9a694..bf46c9f939e0d2506188043a4b732b638d4870bb 100644 --- a/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/autoPatch.H +++ b/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/autoPatch.H @@ -3,7 +3,7 @@ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2014 OpenFOAM Foundation - \\/ M anipulation | Copyright (C) 2015 OpenCFD Ltd. + \\/ M anipulation | ------------------------------------------------------------------------------- License This file is part of OpenFOAM. diff --git a/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/cut.C b/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/cut.C index c04c47da0b5c173e6da11ffb4c2b8f9f5691d012..9dab08b528d69210dd0e53e9e8935efa2a2d8e85 100644 --- a/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/cut.C +++ b/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/cut.C @@ -3,7 +3,7 @@ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2014 OpenFOAM Foundation - \\/ M anipulation | Copyright (C) 2015 OpenCFD Ltd. + \\/ M anipulation | ------------------------------------------------------------------------------- License This file is part of OpenFOAM. diff --git a/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/cut.H b/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/cut.H index 4081b753b3598837295c1eca243c1807e46d892d..6cca7cd6fe76d28041ba7073e27e65afc2543cba 100644 --- a/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/cut.H +++ b/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/cut.H @@ -3,7 +3,7 @@ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2014 OpenFOAM Foundation - \\/ M anipulation | Copyright (C) 2015 OpenCFD Ltd. + \\/ M anipulation | ------------------------------------------------------------------------------- License This file is part of OpenFOAM. diff --git a/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/searchableSurfaceModifier.C b/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/searchableSurfaceModifier.C index e28036012c237a233db761d9ac440074a1eb5ecf..b4fe619b120dd8ff449e22094e430038c7d314a7 100644 --- a/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/searchableSurfaceModifier.C +++ b/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/searchableSurfaceModifier.C @@ -3,7 +3,7 @@ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2014 OpenFOAM Foundation - \\/ M anipulation | Copyright (C) 2015 OpenCFD Ltd. + \\/ M anipulation | ------------------------------------------------------------------------------- License This file is part of OpenFOAM. diff --git a/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/searchableSurfaceModifier.H b/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/searchableSurfaceModifier.H index 8955dea7416cdf715b8b80c46f8172d3b52978dd..0f196efdcf9d1ed38e059136aa40693491c09feb 100644 --- a/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/searchableSurfaceModifier.H +++ b/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/searchableSurfaceModifier.H @@ -3,7 +3,7 @@ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2014 OpenFOAM Foundation - \\/ M anipulation | Copyright (C) 2015 OpenCFD Ltd. + \\/ M anipulation | ------------------------------------------------------------------------------- License This file is part of OpenFOAM. diff --git a/applications/utilities/surface/surfaceSubset/surfaceSubset.C b/applications/utilities/surface/surfaceSubset/surfaceSubset.C index c2a168ba68d4ab723c863a464a57acd287483590..f29b38faca967a8935e3f6ffef29ef11242bc0c5 100644 --- a/applications/utilities/surface/surfaceSubset/surfaceSubset.C +++ b/applications/utilities/surface/surfaceSubset/surfaceSubset.C @@ -2,8 +2,8 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation - \\/ M anipulation | Copyright (C) 2015 OpenCFD Ltd. + \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation + \\/ M anipulation | ------------------------------------------------------------------------------- License This file is part of OpenFOAM. diff --git a/applications/utilities/thermophysical/equilibriumCO/equilibriumCO.C b/applications/utilities/thermophysical/equilibriumCO/equilibriumCO.C index 7af84242b9c3f5490c9187baa8d7eb5ec956dd28..7f7994bdf1ee9254092488033f3bfdc08afcdfd5 100644 --- a/applications/utilities/thermophysical/equilibriumCO/equilibriumCO.C +++ b/applications/utilities/thermophysical/equilibriumCO/equilibriumCO.C @@ -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 @@ -127,7 +127,7 @@ int main(int argc, char *argv[]) Info<< "Kc(EQreactions) = " << iter().Kc(P, T) << endl; } - Info<< nl << "end" << endl; + Info<< nl << "End" << nl << endl; return 0; } diff --git a/applications/utilities/thermophysical/equilibriumFlameT/equilibriumFlameT.C b/applications/utilities/thermophysical/equilibriumFlameT/equilibriumFlameT.C index 9879031cf8e023a9d228c0bc10efe76fa32c125f..567bc234dc57be29d45b04d5586ba6582f982aba 100644 --- a/applications/utilities/thermophysical/equilibriumFlameT/equilibriumFlameT.C +++ b/applications/utilities/thermophysical/equilibriumFlameT/equilibriumFlameT.C @@ -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 @@ -273,7 +273,7 @@ int main(int argc, char *argv[]) } } - Info<< nl << "end" << endl; + Info<< nl << "End" << nl << endl; return 0; }