From aa4ac3372c8fa28d82c32bb1fcf75f9bbda5bc4d Mon Sep 17 00:00:00 2001 From: Hamidreza Norouzi Date: Thu, 16 Feb 2023 02:33:11 -0800 Subject: [PATCH] correction for timeFolder save --- .../sphereDEMSystem/sphereDEMSystem.cpp | 4 +-- .../repository/Time/timeControl.cpp | 2 ++ .../repository/Time/timeControl.hpp | 25 +++++++++++++------ .../systemControl/systemControl.cpp | 10 +++++--- 4 files changed, 27 insertions(+), 14 deletions(-) diff --git a/DEMSystems/sphereDEMSystem/sphereDEMSystem.cpp b/DEMSystems/sphereDEMSystem/sphereDEMSystem.cpp index 04ca59fc..d1af3817 100644 --- a/DEMSystems/sphereDEMSystem/sphereDEMSystem.cpp +++ b/DEMSystems/sphereDEMSystem/sphereDEMSystem.cpp @@ -197,7 +197,7 @@ bool pFlow::sphereDEMSystem::iterate( word timeName) { - Control().time().setEndTime(upToTime); + Control().time().setStopAt(upToTime); Control().time().setOutputToFile(timeToWrite, timeName); loop(); @@ -207,7 +207,7 @@ bool pFlow::sphereDEMSystem::iterate( bool pFlow::sphereDEMSystem::iterate(real upToTime) { - Control().time().setEndTime(upToTime); + Control().time().setStopAt(upToTime); loop(); return true; } diff --git a/src/phasicFlow/repository/Time/timeControl.cpp b/src/phasicFlow/repository/Time/timeControl.cpp index 5308d5c7..b8e7ce1f 100644 --- a/src/phasicFlow/repository/Time/timeControl.cpp +++ b/src/phasicFlow/repository/Time/timeControl.cpp @@ -45,6 +45,7 @@ pFlow::timeControl::timeControl ( dict.getVal("endTime") ), + stopAt_(endTime_), currentTime_(startTime_), saveInterval_ ( @@ -79,6 +80,7 @@ pFlow::timeControl::timeControl( ), startTime_(startTime), endTime_(endTime), + stopAt_(endTime_), currentTime_(startTime_), saveInterval_(saveInterval), lastSaved_(startTime_), diff --git a/src/phasicFlow/repository/Time/timeControl.hpp b/src/phasicFlow/repository/Time/timeControl.hpp index b90d8d42..13f4767b 100644 --- a/src/phasicFlow/repository/Time/timeControl.hpp +++ b/src/phasicFlow/repository/Time/timeControl.hpp @@ -50,6 +50,9 @@ protected: // - end time of simulation real endTime_; + // - stopAt + real stopAt_; + // - current time of simulation real currentTime_; @@ -110,13 +113,12 @@ public: return tmp; } - void setEndTime(real eT) + void setStopAt(real sT) { if(managedExternaly_) { - endTime_ = eT; + stopAt_ = sT; } - } real startTime()const @@ -131,17 +133,18 @@ public: word currentTimeWord(bool forSave = true)const { - if(forSave) + return real2FixedStripZeros( currentTime(), timePrecision()); + /*if(forSave) { if(!managedExternaly_) - return real2FixedStripZeros( currentTime(), timePrecision()); + else return timeName_; } else { return real2FixedStripZeros( currentTime(), timePrecision()); - } + }*/ } int32 currentIter()const @@ -149,10 +152,16 @@ public: return currentIter_; } - bool finished()const + bool finalTime()const { if( currentTime_ >= endTime_ ) return true; if( abs(currentTime_-endTime_) < 0.5*dt_ )return true; + return false; + } + bool reachedStopAt()const + { + if( currentTime_ >= stopAt_ ) return true; + if( abs(currentTime_-stopAt_) < 0.5*dt_ )return true; return false; } @@ -176,7 +185,7 @@ public: bool operator ++(int) { - if( finished() ) return false; + if( reachedStopAt() ) return false; // increament iteration number currentIter_++; diff --git a/src/phasicFlow/repository/systemControl/systemControl.cpp b/src/phasicFlow/repository/systemControl/systemControl.cpp index 7270c86a..7b1687f7 100644 --- a/src/phasicFlow/repository/systemControl/systemControl.cpp +++ b/src/phasicFlow/repository/systemControl/systemControl.cpp @@ -233,7 +233,9 @@ pFlow::systemControl::systemControl( bool pFlow::systemControl::operator ++(int) { - // skip writing to file for the first iteration + // skip writing to file for the first iteration + auto finished = time()++; + writeToFileTimer_.start(); if(time().currentIter() != 0) { @@ -244,8 +246,9 @@ bool pFlow::systemControl::operator ++(int) return false; } } - else if( time().finished() ) + else if( time().finalTime() ) { + output<<"****************************************************************"<