MCPcopy Create free account
hub / github.com/Kitware/VTK / GetParticleFeed

Method GetParticleFeed

Filters/ParallelFlowPaths/vtkPLagrangianParticleTracker.cxx:868–893  ·  view source on GitHub ↗

------------------------------------------------------------------------------

Source from the content-addressed store, hash-verified

866
867//------------------------------------------------------------------------------
868void vtkPLagrangianParticleTracker::GetParticleFeed(
869 std::queue<vtkLagrangianParticle*>& particleQueue)
870{
871 if (!this->Controller || this->Controller->GetNumberOfProcesses() <= 1)
872 {
873 return;
874 }
875
876 // local partition status 0 = partition inactive, 1 = active
877 int status;
878
879 do
880 {
881 // receive particles from other partitions
882 this->ReceiveParticles(particleQueue);
883
884 // check for receipt of sent particles
885 this->ReceiveTransferredParticleIds();
886
887 // determine local status - active if queue is busy or we are waiting for receipt of sent
888 // particles
889 status = !particleQueue.empty() ||
890 this->StreamManager->GetSendCounter() !=
891 this->TransferredParticleIdManager->GetReceivedCounter();
892 } while (this->FeedManager->GetGlobalStatus(status) && particleQueue.empty());
893}
894
895//------------------------------------------------------------------------------
896int vtkPLagrangianParticleTracker::Integrate(vtkInitialValueProblemSolver* integrator,

Callers

nothing calls this directly

Calls 7

ReceiveParticlesMethod · 0.95
GetNumberOfProcessesMethod · 0.80
GetSendCounterMethod · 0.80
GetReceivedCounterMethod · 0.80
GetGlobalStatusMethod · 0.80
emptyMethod · 0.45

Tested by

no test coverage detected