Merge pull request #113 from PhasicFlow/develop

Develop
This commit is contained in:
Hamidreza Norouzi 2024-05-24 22:17:41 +03:30 committed by GitHub
commit 3bbad4487b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
13 changed files with 42 additions and 15 deletions

View File

@ -21,13 +21,17 @@ Licence:
template<class T, class MemorySpace> template<class T, class MemorySpace>
bool pFlow::Field<T, MemorySpace>::read bool pFlow::Field<T, MemorySpace>::read
( (
iIstream& is iIstream& is,
bool resume
) )
{ {
bool tokenFound = true; bool tokenFound = true;
tokenFound = is.findToken(fieldKey_); if(resume)
tokenFound = is.findTokenResume(fieldKey_);
else
tokenFound = is.findToken(fieldKey_);
if( !tokenFound ) if( !tokenFound )
{ {
@ -53,14 +57,21 @@ template<class T, class MemorySpace>
bool pFlow::Field<T, MemorySpace>::read bool pFlow::Field<T, MemorySpace>::read
( (
iIstream& is, iIstream& is,
const IOPattern& iop const IOPattern& iop,
bool resume
) )
{ {
bool tokenFound = true; bool tokenFound = true;
if(iop.thisProcReadData()) if(iop.thisProcReadData())
tokenFound = is.findToken(fieldKey_); {
if(resume)
tokenFound = is.findTokenResume(fieldKey_);
else
tokenFound = is.findToken(fieldKey_);
}
if( !tokenFound ) if( !tokenFound )
{ {

View File

@ -197,12 +197,12 @@ public:
//// - IO operations //// - IO operations
bool read(iIstream& is); bool read(iIstream& is, bool resume = false);
bool write(iOstream& os)const; bool write(iOstream& os)const;
bool read(iIstream& is, const IOPattern& iop); bool read(iIstream& is, const IOPattern& iop, bool resume = false);
bool write(iOstream& os, const IOPattern& iop )const; bool write(iOstream& os, const IOPattern& iop )const;

View File

@ -339,7 +339,7 @@ public:
virtual virtual
bool beforeIteration(uint32 iterNum, real t, real dt) = 0 ; bool beforeIteration(uint32 step, uint32 iterNum, real t, real dt) = 0 ;
virtual virtual
bool iterate(uint32 iterNum, real t, real dt) = 0; bool iterate(uint32 iterNum, real t, real dt) = 0;

View File

@ -42,11 +42,13 @@ pFlow::boundaryExit::boundaryExit
bool pFlow::boundaryExit::beforeIteration bool pFlow::boundaryExit::beforeIteration
( (
uint32 step,
uint32 iterNum, uint32 iterNum,
real t, real t,
real dt real dt
) )
{ {
if(step!= 2 )return true;
if( !boundaryListUpdate(iterNum))return true; if( !boundaryListUpdate(iterNum))return true;

View File

@ -63,7 +63,7 @@ public:
dictionary dictionary
); );
bool beforeIteration(uint32 iterNum, real t, real dt) override; bool beforeIteration(uint32 step, uint32 iterNum, real t, real dt) override;
bool iterate(uint32 iterNum, real t, real dt) override; bool iterate(uint32 iterNum, real t, real dt) override;

View File

@ -172,7 +172,17 @@ pFlow::boundaryList::beforeIteration(uint32 iter, real t, real dt, bool force)
for (auto bdry : *this) for (auto bdry : *this)
{ {
if (!bdry->beforeIteration(iter, t, dt)) if (!bdry->beforeIteration(1, iter, t, dt))
{
fatalErrorInFunction << "Error in beforeIteration in boundary "
<< bdry->name() << endl;
return false;
}
}
for (auto bdry : *this)
{
if (!bdry->beforeIteration(2, iter, t, dt))
{ {
fatalErrorInFunction << "Error in beforeIteration in boundary " fatalErrorInFunction << "Error in beforeIteration in boundary "
<< bdry->name() << endl; << bdry->name() << endl;

View File

@ -34,6 +34,7 @@ pFlow::boundaryNone::boundaryNone
bool pFlow::boundaryNone::beforeIteration bool pFlow::boundaryNone::beforeIteration
( (
uint32 step,
uint32 iterNum, uint32 iterNum,
real t, real t,
real dt real dt

View File

@ -52,7 +52,7 @@ public:
dictionary dictionary
); );
bool beforeIteration(uint32 iterNum, real t, real dt) final; bool beforeIteration(uint32 step, uint32 iterNum, real t, real dt) final;
bool iterate(uint32 iterNum, real t, real dt) final; bool iterate(uint32 iterNum, real t, real dt) final;

View File

@ -51,10 +51,12 @@ pFlow::realx3 pFlow::boundaryPeriodic::boundaryExtensionLength() const
bool pFlow::boundaryPeriodic::beforeIteration( bool pFlow::boundaryPeriodic::beforeIteration(
uint32 step,
uint32 iterNum, uint32 iterNum,
real t, real t,
real dt) real dt)
{ {
if(step!=2)return true;
// nothing have to be done // nothing have to be done
if(empty()) if(empty())
{ {

View File

@ -64,7 +64,7 @@ public:
//const plane& boundaryPlane()const override;*/ //const plane& boundaryPlane()const override;*/
bool beforeIteration(uint32 iterNum, real t, real dt) override; bool beforeIteration(uint32 step, uint32 iterNum, real t, real dt) override;
bool iterate(uint32 iterNum, real t, real dt) override; bool iterate(uint32 iterNum, real t, real dt) override;

View File

@ -46,6 +46,7 @@ pFlow::boundaryReflective::boundaryReflective
} }
bool pFlow::boundaryReflective::beforeIteration( bool pFlow::boundaryReflective::beforeIteration(
uint32 step,
uint32 iterNum, uint32 iterNum,
real t, real t,
real dt) real dt)

View File

@ -59,7 +59,7 @@ public:
dictionary dictionary
); );
bool beforeIteration(uint32 iterNum, real t, real dt) override; bool beforeIteration(uint32 step, uint32 iterNum, real t, real dt) override;
bool iterate(uint32 iterNum, real t, real dt) override; bool iterate(uint32 iterNum, real t, real dt) override;

View File

@ -257,7 +257,7 @@ pFlow::triSurface::triSurface
bool pFlow::triSurface::read(iIstream &is, const IOPattern &iop) bool pFlow::triSurface::read(iIstream &is, const IOPattern &iop)
{ {
points_.clear(); points_.clear();
if(!points_.read(is, iop)) if(!points_.read(is, iop, true))
{ {
ioErrorInFile(is.name(), is.lineNumber())<< ioErrorInFile(is.name(), is.lineNumber())<<
" when reading field "<< points_.name()<<endl; " when reading field "<< points_.name()<<endl;
@ -265,7 +265,7 @@ bool pFlow::triSurface::read(iIstream &is, const IOPattern &iop)
} }
vertices_.clear(); vertices_.clear();
if(!vertices_.read(is, iop)) if(!vertices_.read(is, iop, true))
{ {
ioErrorInFile(is.name(), is.lineNumber())<< ioErrorInFile(is.name(), is.lineNumber())<<
" when reading field "<< vertices_.name()<<endl; " when reading field "<< vertices_.name()<<endl;