diff options
Diffstat (limited to 'Source/Particles/MultiParticleContainer.cpp')
-rw-r--r-- | Source/Particles/MultiParticleContainer.cpp | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/Source/Particles/MultiParticleContainer.cpp b/Source/Particles/MultiParticleContainer.cpp index f6f9ab1a2..37b595996 100644 --- a/Source/Particles/MultiParticleContainer.cpp +++ b/Source/Particles/MultiParticleContainer.cpp @@ -58,7 +58,8 @@ MultiParticleContainer::MultiParticleContainer (AmrCore* amr_core) // collision allcollisions.resize(ncollisions); for (int i = 0; i < ncollisions; ++i) { - allcollisions[i].reset(new CollisionType(species_names, collision_names[i])); + allcollisions[i].reset + (new CollisionType(species_names, collision_names[i])); } } @@ -632,33 +633,27 @@ MultiParticleContainer::doCoulombCollisions () for (int i = 0; i < ncollisions; ++i) { - // At this point, the code always collides the first and second species - // TODO: Read the user input to read the different types of collisions requested - // and loop over all types of collisions, selecting each time the - // two types of species that will be collided - // auto& species1 = allcontainers[0]; - // auto& species2 = allcontainers[1]; auto& species1 = allcontainers[ allcollisions[i]->m_species1_index ]; auto& species2 = allcontainers[ allcollisions[i]->m_species2_index ]; - + // Enable tiling MFItInfo info; if (Gpu::notInLaunchRegion()) info.EnableTiling(species1->tile_size); - + // Loop over refinement levels for (int lev = 0; lev <= species1->finestLevel(); ++lev){ - + // Loop over all grids/tiles at this level #ifdef _OPENMP info.SetDynamic(true); #pragma omp parallel #endif for (MFIter mfi = species1->MakeMFIter(lev, info); mfi.isValid(); ++mfi){ - + CollisionType::doCoulombCollisionsWithinTile ( lev, mfi, species1, species2, allcollisions[i]->m_isSameSpecies ); - + } } } |