aboutsummaryrefslogtreecommitdiff
path: root/Source/Particles/PhysicalParticleContainer.cpp
diff options
context:
space:
mode:
authorGravatar MaxThevenet <mthevenet@lbl.gov> 2019-09-20 20:47:20 -0700
committerGravatar MaxThevenet <mthevenet@lbl.gov> 2019-09-20 20:47:20 -0700
commit4f10dcf000c7b1f026d21f2ac83fc5dc930085c4 (patch)
treea3bd3a0285c6e8f6ff3b38b4104bfc7d0ba3867a /Source/Particles/PhysicalParticleContainer.cpp
parentc741571ecdaf25a5ab7721b1ed655e5e0c2a8f4c (diff)
downloadWarpX-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.cpp11
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 );