diff options
author | 2019-09-20 20:47:20 -0700 | |
---|---|---|
committer | 2019-09-20 20:47:20 -0700 | |
commit | 4f10dcf000c7b1f026d21f2ac83fc5dc930085c4 (patch) | |
tree | a3bd3a0285c6e8f6ff3b38b4104bfc7d0ba3867a /Source/Particles/PhysicalParticleContainer.cpp | |
parent | c741571ecdaf25a5ab7721b1ed655e5e0c2a8f4c (diff) | |
download | WarpX-4f10dcf000c7b1f026d21f2ac83fc5dc930085c4.tar.gz WarpX-4f10dcf000c7b1f026d21f2ac83fc5dc930085c4.tar.zst WarpX-4f10dcf000c7b1f026d21f2ac83fc5dc930085c4.zip |
fix particle splitting
Diffstat (limited to 'Source/Particles/PhysicalParticleContainer.cpp')
-rw-r--r-- | Source/Particles/PhysicalParticleContainer.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/Source/Particles/PhysicalParticleContainer.cpp b/Source/Particles/PhysicalParticleContainer.cpp index 8a30b3acb..c3d6a35fd 100644 --- a/Source/Particles/PhysicalParticleContainer.cpp +++ b/Source/Particles/PhysicalParticleContainer.cpp @@ -1446,15 +1446,16 @@ PhysicalParticleContainer::SplitParticles(int lev) } #elif (AMREX_SPACEDIM==3) if (split_type==0){ - // Split particle in two along each axis - // 6 particles in 2d + Print()<<"split_type==0\n"; + // Split particle in two along each diagonals + // 8 particles in 3d for (int ishift = -1; ishift < 2; ishift +=2 ){ for (int jshift = -1; jshift < 2; jshift +=2 ){ for (int kshift = -1; kshift < 2; kshift +=2 ){ // Add one particle with offset in x, y and z psplit_x.push_back( xp[i] + ishift*dx[0]/2 ); psplit_y.push_back( yp[i] + jshift*dx[1]/2 ); - psplit_z.push_back( zp[i] + jshift*dx[2]/2 ); + psplit_z.push_back( zp[i] + kshift*dx[2]/2 ); psplit_ux.push_back( uxp[i] ); psplit_uy.push_back( uyp[i] ); psplit_uz.push_back( uzp[i] ); @@ -1463,8 +1464,8 @@ PhysicalParticleContainer::SplitParticles(int lev) } } } else { - // Split particle in two along each diagonal - // 8 particles in 3d + // Split particle in two along each axis + // 6 particles in 3d for (int ishift = -1; ishift < 2; ishift +=2 ){ // Add one particle with offset in x psplit_x.push_back( xp[i] + ishift*dx[0]/2 ); |