diff options
author | 2019-11-24 13:27:37 -0700 | |
---|---|---|
committer | 2019-11-24 13:27:37 -0700 | |
commit | a9b158c647a20d030c98c18636d8bdb81d6dda35 (patch) | |
tree | 02319df4a23bb41f27ccd81361a329a8a4c628b4 /Source/Particles/MultiParticleContainer.cpp | |
parent | 070efb5ea43ae636d7360302ff90ae43b81edbcc (diff) | |
download | WarpX-a9b158c647a20d030c98c18636d8bdb81d6dda35.tar.gz WarpX-a9b158c647a20d030c98c18636d8bdb81d6dda35.tar.zst WarpX-a9b158c647a20d030c98c18636d8bdb81d6dda35.zip |
Modified the collision part of MultiParticleContainer.cpp.
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 ); - + } } } |