boundaryProcessor for dataTransfer

- in boundaryList in afterIteration, data transfer occurs to transfer data between prcocessors
- transferData method is added to boundaryBase
- Some modification to format the output messages in terminal
This commit is contained in:
HRN
2024-05-05 23:05:23 +03:30
parent 97049760c3
commit 0e54e260e6
15 changed files with 99 additions and 38 deletions

View File

@ -76,10 +76,6 @@ public:
*this)
{
/*auto method = dict().getVal<word>("method");
auto nbDict = dict().subDict(method+"Info");*/
real minD;
real maxD;
this->Particles().boundingSphereMinMax(minD, maxD);
@ -110,9 +106,6 @@ public:
wVertices,
wNormals
);
REPORT(2)<<"Contact search algorithm for particle-particle is "<<
Green_Text(ppwContactSearch_().typeName())<<END_REPORT;
}

View File

@ -50,13 +50,13 @@ pFlow::boundaryContactSearch::create(
if( boundaryBasevCtorSelector_.search(bType) )
{
REPORT(2)<<"Creating contact search boundary "<< Green_Text(bType)<<
pOutput.space(4)<<"Creating contact search boundary "<< Green_Text(bType)<<
" for "<<boundary.name()<<endl;
return boundaryBasevCtorSelector_[bType](dict, boundary, cSearch);
}
else if(boundaryBasevCtorSelector_.search(altBType))
{
REPORT(2)<<"Creating contact search boundary "<< Green_Text(altBType)<<
pOutput.space(4)<<"Creating contact search boundary "<< Green_Text(altBType)<<
" for "<<boundary.name()<<endl;
return boundaryBasevCtorSelector_[altBType](dict, boundary, cSearch);
}

View File

@ -55,13 +55,11 @@ pFlow::uniquePtr<pFlow::contactSearch> pFlow::contactSearch::create(
word baseMethName = dict.getVal<word>("method");
auto model = angleBracketsNames("ContactSearch", baseMethName);
REPORT(1)<<"Selecting contact search model . . ."<<END_REPORT;
pOutput.space(2)<<"Selecting contact search model "<<Green_Text(model)<<endl;
if( dictionaryvCtorSelector_.search(model))
{
auto objPtr = dictionaryvCtorSelector_[model] (dict, extDomain, prtcl, geom, timers);
REPORT(2)<<"Model "<< Green_Text(model)<<" is created."<< END_REPORT;
return objPtr;
}
else

View File

@ -71,15 +71,14 @@ pFlow::uniquePtr<pFlow::interaction> pFlow::interaction::create
clType);
REPORT(1)<<"Creating interaction "<<Green_Text(interactionModel)<<" . . ."<<END_REPORT;
gSettings::sleepMiliSeconds(
1000*(pFlowProcessors().localSize()-pFlowProcessors().localRank()-1));
pOutput.space(2)<<"Creating interaction "<<Green_Text(interactionModel)<<" . . ."<<END_REPORT;
if( systemControlvCtorSelector_.search(interactionModel) )
{
auto objPtr =
systemControlvCtorSelector_[interactionModel]
(control, prtcl, geom);
(control, prtcl, geom);
return objPtr;
}
else

View File

@ -56,7 +56,7 @@ pFlow::boundarySphereInteraction<cFM, gMM>::create(
if (boundaryBasevCtorSelector_.search(boundaryTypeName))
{
REPORT(2) << "Creating boundry type " << Green_Text(boundaryTypeName) <<
pOutput.space(4) << "Creating boundry type " << Green_Text(boundaryTypeName) <<
" for boundary " << boundary.name() << " . . ." << END_REPORT;
return boundaryBasevCtorSelector_[boundaryTypeName](
boundary,
@ -67,7 +67,7 @@ pFlow::boundarySphereInteraction<cFM, gMM>::create(
{
// if boundary condition is not implemented, the default is used
REPORT(2) << "Creating boundry type " << Green_Text(altBTypeName) <<
pOutput.space(4) << "Creating boundry type " << Green_Text(altBTypeName) <<
" for boundary " << boundary.name() << " . . ." << END_REPORT;
return boundaryBasevCtorSelector_[altBTypeName](
boundary,

View File

@ -10,7 +10,7 @@ pFlow::boundarySphereInteractionList<CFModel, gMModel>::boundarySphereInteractio
ListPtr<boundarySphereInteraction<CFModel,gMModel>>(6),
boundaries_(sphPrtcls.pStruct().boundaries())
{
//gSettings::sleepMiliSeconds(1000*pFlowProcessors().localRank());
for(uint32 i=0; i<6; i++)
{
this->set(

View File

@ -26,7 +26,6 @@ bool pFlow::sphereInteraction<cFM,gMM, cLT>::createSphereInteraction()
auto modelDict = this->subDict("model");
REPORT(1)<<"Createing contact force model . . ."<<END_REPORT;
forceModel_ = makeUnique<ContactForceModel>(
this->numMaterials(),
rhoD.deviceView(),
@ -46,8 +45,6 @@ bool pFlow::sphereInteraction<cFM,gMM, cLT>::createSphereInteraction()
pwContactList_ = makeUnique<ContactListType>(nPrtcl/5+1);
return true;
}