makeing beforeIteration step-wise for boundaryBase to implement non-bloking communications

This commit is contained in:
HRN 2024-05-24 00:10:49 +03:30
parent d5ff1d7906
commit d1b6a04292
10 changed files with 22 additions and 7 deletions

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,12 +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;
// nothing have to be done // nothing have to be done

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;