------------------------------------------------------------------------------
| 866 | |
| 867 | //------------------------------------------------------------------------------ |
| 868 | void 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 | //------------------------------------------------------------------------------ |
| 896 | int vtkPLagrangianParticleTracker::Integrate(vtkInitialValueProblemSolver* integrator, |
nothing calls this directly
no test coverage detected