From 5d1cdef530057f47678c6ccc26bdc3e1b8502eb9 Mon Sep 17 00:00:00 2001 From: mattijs Date: Tue, 16 Oct 2012 12:54:25 +0100 Subject: [PATCH 1/4] STYLE: autoSnapDriver: unused var --- .../autoHexMesh/autoHexMeshDriver/autoSnapDriverFeature.C | 1 - 1 file changed, 1 deletion(-) diff --git a/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoSnapDriverFeature.C b/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoSnapDriverFeature.C index 828ee0e710..8bcd9c6270 100644 --- a/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoSnapDriverFeature.C +++ b/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoSnapDriverFeature.C @@ -2655,7 +2655,6 @@ Foam::vectorField Foam::autoSnapDriver::calcNearestSurfaceFeature } // Remove any meshed faces - PackedBoolList ppFaces(mesh.nFaces()); forAll(pp.addressing(), i) { label meshFaceI = pp.addressing()[i]; From 9ff9a41b7b8d3b28ec1fc37467b06199e76fb56f Mon Sep 17 00:00:00 2001 From: mattijs Date: Tue, 16 Oct 2012 12:54:58 +0100 Subject: [PATCH 2/4] BUG: inplaceExpand: update index after replacement --- src/OpenFOAM/primitives/strings/stringOps/stringOps.C | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/OpenFOAM/primitives/strings/stringOps/stringOps.C b/src/OpenFOAM/primitives/strings/stringOps/stringOps.C index f44ffe3a6b..b7e11d644f 100644 --- a/src/OpenFOAM/primitives/strings/stringOps/stringOps.C +++ b/src/OpenFOAM/primitives/strings/stringOps/stringOps.C @@ -398,6 +398,8 @@ Foam::string& Foam::stringOps::inplaceExpand begVar - stringStart + 1, varValue ); + + begVar = stringStart+varValue.size(); } else { @@ -744,8 +746,7 @@ Foam::string& Foam::stringOps::inplaceExpand FatalErrorIn ( "stringOps::inplaceExpand(string&, const bool)" - ) - << "Unknown variable name '" << varName << "'" + ) << "Unknown variable name '" << varName << "'" << exit(FatalError); } } From e4f7c306ab8f28040a63866defafc9687fbb4a2d Mon Sep 17 00:00:00 2001 From: mattijs Date: Tue, 16 Oct 2012 14:15:14 +0100 Subject: [PATCH 3/4] BUG: Time: have separate timer for secondary write interval --- src/OpenFOAM/db/Time/Time.C | 44 +++++++++++++++++++++----------- src/OpenFOAM/db/Time/TimeIO.C | 22 ++++++++++++++++ src/OpenFOAM/db/Time/TimeState.C | 3 ++- src/OpenFOAM/db/Time/TimeState.H | 4 +-- 4 files changed, 55 insertions(+), 18 deletions(-) diff --git a/src/OpenFOAM/db/Time/Time.C b/src/OpenFOAM/db/Time/Time.C index 19a6c2b321..155c4c2eb4 100644 --- a/src/OpenFOAM/db/Time/Time.C +++ b/src/OpenFOAM/db/Time/Time.C @@ -79,21 +79,35 @@ Foam::word Foam::Time::controlDictName("controlDict"); void Foam::Time::adjustDeltaT() { + bool adjustTime = false; + scalar timeToNextWrite = VGREAT; + if (writeControl_ == wcAdjustableRunTime) { - scalar interval = writeInterval_; - if (secondaryWriteControl_ == wcAdjustableRunTime) - { - interval = min(interval, secondaryWriteInterval_); - } - - - scalar timeToNextWrite = max + adjustTime = true; + timeToNextWrite = max ( 0.0, - (outputTimeIndex_ + 1)*interval - (value() - startTime_) + (outputTimeIndex_ + 1)*writeInterval_ - (value() - startTime_) ); + } + if (secondaryWriteControl_ == wcAdjustableRunTime) + { + adjustTime = true; + timeToNextWrite = max + ( + 0.0, + min + ( + timeToNextWrite, + (secondaryOutputTimeIndex_ + 1)*secondaryWriteInterval_ + - (value() - startTime_) + ) + ); + } + if (adjustTime) + { scalar nSteps = timeToNextWrite/deltaT_ - SMALL; // For tiny deltaT the label can overflow! @@ -1130,10 +1144,10 @@ Foam::Time& Foam::Time::operator++() / secondaryWriteInterval_ ); - if (outputIndex > outputTimeIndex_) + if (outputIndex > secondaryOutputTimeIndex_) { outputTime_ = true; - outputTimeIndex_ = outputIndex; + secondaryOutputTimeIndex_ = outputIndex; } } break; @@ -1145,10 +1159,10 @@ Foam::Time& Foam::Time::operator++() returnReduce(elapsedCpuTime(), maxOp()) / secondaryWriteInterval_ ); - if (outputIndex > outputTimeIndex_) + if (outputIndex > secondaryOutputTimeIndex_) { outputTime_ = true; - outputTimeIndex_ = outputIndex; + secondaryOutputTimeIndex_ = outputIndex; } } break; @@ -1160,10 +1174,10 @@ Foam::Time& Foam::Time::operator++() returnReduce(label(elapsedClockTime()), maxOp