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

Method Integrate

Filters/ParallelFlowPaths/vtkPLagrangianParticleTracker.cxx:896–928  ·  view source on GitHub ↗

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

Source from the content-addressed store, hash-verified

894
895//------------------------------------------------------------------------------
896int vtkPLagrangianParticleTracker::Integrate(vtkInitialValueProblemSolver* integrator,
897 vtkLagrangianParticle* particle, std::queue<vtkLagrangianParticle*>& particleQueue,
898 vtkPolyData* particlePathsOutput, vtkPolyLine* particlePath, vtkDataObject* interactionOutput)
899{
900 if (this->Controller && this->Controller->GetNumberOfProcesses() > 1)
901 {
902 if (this->GenerateParticlePathsOutput && particle->GetPInsertPreviousPosition())
903 {
904 // This is a particle from another rank, store a duplicated previous point
905 this->InsertPathOutputPoint(particle, particlePathsOutput, particlePath->GetPointIds(), true);
906 particle->SetPInsertPreviousPosition(false);
907 }
908 }
909
910 int ret = this->vtkLagrangianParticleTracker::Integrate(
911 integrator, particle, particleQueue, particlePathsOutput, particlePath, interactionOutput);
912
913 if (this->Controller && this->Controller->GetNumberOfProcesses() > 1)
914 {
915 if (particle->GetTermination() == vtkLagrangianParticle::PARTICLE_TERMINATION_OUT_OF_DOMAIN)
916 {
917 if (!this->ForcePManualShift && !particle->GetPManualShift())
918 {
919 particle->SetPInsertPreviousPosition(true);
920 }
921
922 // Stream out of domain particles
923 std::lock_guard<std::mutex> guard(this->StreamManagerMutex);
924 this->StreamManager->SendParticle(particle, this->ForcePManualShift);
925 }
926 }
927 return ret;
928}
929
930//------------------------------------------------------------------------------
931void vtkPLagrangianParticleTracker::ReceiveTransferredParticleIds()

Callers

nothing calls this directly

Calls 8

GetNumberOfProcessesMethod · 0.80
InsertPathOutputPointMethod · 0.80
GetPManualShiftMethod · 0.80
SendParticleMethod · 0.80
GetPointIdsMethod · 0.45
GetTerminationMethod · 0.45

Tested by

no test coverage detected