diff --git a/bin/tools/buildParaViewFunctions b/bin/tools/buildParaViewFunctions index cf04183f80..7231ad140e 100644 --- a/bin/tools/buildParaViewFunctions +++ b/bin/tools/buildParaViewFunctions @@ -140,6 +140,7 @@ buildParaView () { # set general options addCMakeVariable "BUILD_SHARED_LIBS:BOOL=ON" + addCMakeVariable "VTK_USE_RPATH:BOOL=OFF" addCMakeVariable "CMAKE_BUILD_TYPE:STRING=Release" # set paraview environment diff --git a/src/OpenFOAM/db/Time/TimeIO.C b/src/OpenFOAM/db/Time/TimeIO.C index fc3ad8857c..c74b674389 100644 --- a/src/OpenFOAM/db/Time/TimeIO.C +++ b/src/OpenFOAM/db/Time/TimeIO.C @@ -44,6 +44,7 @@ void Foam::Time::readDict() ); } + scalar oldWriteInterval = writeInterval_; if (controlDict_.readIfPresent("writeInterval", writeInterval_)) { if (writeControl_ == wcTimeStep && label(writeInterval_) < 1) @@ -58,6 +59,22 @@ void Foam::Time::readDict() controlDict_.lookup("writeFrequency") >> writeInterval_; } + if (oldWriteInterval != writeInterval_) + { + switch(writeControl_) + { + case wcRunTime: + case wcAdjustableRunTime: + // Recalculate outputTimeIndex_ to be in units of current + // writeInterval. + outputTimeIndex_ *= oldWriteInterval/writeInterval_; + break; + + default: + break; + } + } + if (controlDict_.readIfPresent("purgeWrite", purgeWrite_)) { if (purgeWrite_ < 0) diff --git a/src/autoMesh/autoHexMesh/autoHexMeshDriver/autoRefineDriver.C b/src/autoMesh/autoHexMesh/autoHexMeshDriver/autoRefineDriver.C index 218087f774..7bbe58ff8f 100644 --- a/src/autoMesh/autoHexMesh/autoHexMeshDriver/autoRefineDriver.C +++ b/src/autoMesh/autoHexMesh/autoHexMeshDriver/autoRefineDriver.C @@ -248,7 +248,7 @@ Foam::label Foam::autoRefineDriver::surfaceOnlyRefine refineParams.keepPoints()[0], refineParams.curvature(), - PtrList(0), // dummy featureMeshes; + PtrList(), // dummy featureMeshes; labelList(0), // dummy featureLevels; false, // featureRefinement @@ -389,7 +389,7 @@ Foam::label Foam::autoRefineDriver::shellRefine refineParams.keepPoints()[0], refineParams.curvature(), - PtrList(0), // dummy featureMeshes; + PtrList(), // dummy featureMeshes; labelList(0), // dummy featureLevels; false, // featureRefinement diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/duplicatePoints.C b/src/dynamicMesh/polyTopoChange/polyTopoChange/duplicatePoints.C index df9434deec..ee915cfa5e 100644 --- a/src/dynamicMesh/polyTopoChange/polyTopoChange/duplicatePoints.C +++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/duplicatePoints.C @@ -155,17 +155,35 @@ void Foam::duplicatePoints::setRefinement zoneFlip = fZone.flipMap()[fZone.whichFace(faceI)]; } - meshMod.modifyFace - ( - newFace, // modified face - faceI, // label of face being modified - mesh_.faceOwner()[faceI], // owner - -1, // neighbour - false, // face flip - patches.whichPatch(faceI), // patch for face - zoneID, // zone for face - zoneFlip // face flip in zone - ); + + if (mesh_.isInternalFace(faceI)) + { + meshMod.modifyFace + ( + newFace, // modified face + faceI, // label of face being modified + mesh_.faceOwner()[faceI], // owner + mesh_.faceNeighbour()[faceI], // neighbour + false, // face flip + -1, // patch for face + zoneID, // zone for face + zoneFlip // face flip in zone + ); + } + else + { + meshMod.modifyFace + ( + newFace, // modified face + faceI, // label of face being modified + mesh_.faceOwner()[faceI], // owner + -1, // neighbour + false, // face flip + patches.whichPatch(faceI), // patch for face + zoneID, // zone for face + zoneFlip // face flip in zone + ); + } } diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/localPointRegion.C b/src/dynamicMesh/polyTopoChange/polyTopoChange/localPointRegion.C index 9470a8d861..bbfe0cf684 100644 --- a/src/dynamicMesh/polyTopoChange/polyTopoChange/localPointRegion.C +++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/localPointRegion.C @@ -43,15 +43,22 @@ class minEqOpFace { public: - void operator()( face& x, const face& y ) const + void operator()(face& x, const face& y) const { - forAll(x, i) + if (x.size() > 0) { - x[i] = min(x[i], y[i]); + label j = 0; + forAll(x, i) + { + x[i] = min(x[i], y[j]); + + j = y.rcIndex(j); + } } }; }; + // Dummy transform for faces. Used in synchronisation void transformList ( @@ -103,6 +110,7 @@ bool Foam::localPointRegion::isDuplicate void Foam::localPointRegion::countPointRegions ( const polyMesh& mesh, + const boolList& candidatePoint, const Map