Skip to content

Commit b24b4f3

Browse files
authored
Merge pull request #799 from epochpic/tom/issue798
Fix particle location in load balance
2 parents 3abea98 + 37ee756 commit b24b4f3

File tree

3 files changed

+12
-12
lines changed

3 files changed

+12
-12
lines changed

epoch1d/src/housekeeping/balance.F90

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1220,9 +1220,9 @@ FUNCTION get_particle_processor(part)
12201220
minpos = x_grid_mins(iproc) - dx * 0.5_num
12211221
END IF
12221222
IF (iproc == nprocx - 1) THEN
1223-
maxpos = x_grid_maxs(iproc) + dx * (0.5_num + png)
1223+
maxpos = x_global(cell_x_max(iproc+1)+1) + dx * (png - 0.5_num)
12241224
ELSE
1225-
maxpos = x_grid_maxs(iproc) + dx * 0.5_num
1225+
maxpos = x_global(cell_x_max(iproc+1)+1) - dx * 0.5_num
12261226
END IF
12271227
IF (part%part_pos >= minpos .AND. part%part_pos < maxpos) THEN
12281228
coords(c_ndims) = iproc

epoch2d/src/housekeeping/balance.F90

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2114,9 +2114,9 @@ FUNCTION get_particle_processor(part)
21142114
minpos = x_grid_mins(iproc) - dx * 0.5_num
21152115
END IF
21162116
IF (iproc == nprocx - 1) THEN
2117-
maxpos = x_grid_maxs(iproc) + dx * (0.5_num + png)
2117+
maxpos = x_global(cell_x_max(iproc+1)+1) + dx * (png - 0.5_num)
21182118
ELSE
2119-
maxpos = x_grid_maxs(iproc) + dx * 0.5_num
2119+
maxpos = x_global(cell_x_max(iproc+1)+1) - dx * 0.5_num
21202120
END IF
21212121
IF (part%part_pos(1) >= minpos .AND. part%part_pos(1) < maxpos) THEN
21222122
coords(c_ndims) = iproc
@@ -2131,9 +2131,9 @@ FUNCTION get_particle_processor(part)
21312131
minpos = y_grid_mins(iproc) - dy * 0.5_num
21322132
END IF
21332133
IF (iproc == nprocy - 1) THEN
2134-
maxpos = y_grid_maxs(iproc) + dy * (0.5_num + png)
2134+
maxpos = y_global(cell_y_max(iproc+1)+1) + dy * (png - 0.5_num)
21352135
ELSE
2136-
maxpos = y_grid_maxs(iproc) + dy * 0.5_num
2136+
maxpos = y_global(cell_y_max(iproc+1)+1) - dy * 0.5_num
21372137
END IF
21382138
IF (part%part_pos(2) >= minpos .AND. part%part_pos(2) < maxpos) THEN
21392139
coords(c_ndims-1) = iproc

epoch3d/src/housekeeping/balance.F90

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2649,9 +2649,9 @@ FUNCTION get_particle_processor(part)
26492649
minpos = x_grid_mins(iproc) - dx * 0.5_num
26502650
END IF
26512651
IF (iproc == nprocx - 1) THEN
2652-
maxpos = x_grid_maxs(iproc) + dx * (0.5_num + png)
2652+
maxpos = x_global(cell_x_max(iproc+1)+1) + dx * (png - 0.5_num)
26532653
ELSE
2654-
maxpos = x_grid_maxs(iproc) + dx * 0.5_num
2654+
maxpos = x_global(cell_x_max(iproc+1)+1) - dx * 0.5_num
26552655
END IF
26562656
IF (part%part_pos(1) >= minpos .AND. part%part_pos(1) < maxpos) THEN
26572657
coords(c_ndims) = iproc
@@ -2666,9 +2666,9 @@ FUNCTION get_particle_processor(part)
26662666
minpos = y_grid_mins(iproc) - dy * 0.5_num
26672667
END IF
26682668
IF (iproc == nprocy - 1) THEN
2669-
maxpos = y_grid_maxs(iproc) + dy * (0.5_num + png)
2669+
maxpos = y_global(cell_y_max(iproc+1)+1) + dy * (png - 0.5_num)
26702670
ELSE
2671-
maxpos = y_grid_maxs(iproc) + dy * 0.5_num
2671+
maxpos = y_global(cell_y_max(iproc+1)+1) - dy * 0.5_num
26722672
END IF
26732673
IF (part%part_pos(2) >= minpos .AND. part%part_pos(2) < maxpos) THEN
26742674
coords(c_ndims-1) = iproc
@@ -2683,9 +2683,9 @@ FUNCTION get_particle_processor(part)
26832683
minpos = z_grid_mins(iproc) - dz * 0.5_num
26842684
END IF
26852685
IF (iproc == nprocz - 1) THEN
2686-
maxpos = z_grid_maxs(iproc) + dz * (0.5_num + png)
2686+
maxpos = z_global(cell_z_max(iproc+1)+1) + dz * (png - 0.5_num)
26872687
ELSE
2688-
maxpos = z_grid_maxs(iproc) + dz * 0.5_num
2688+
maxpos = z_global(cell_z_max(iproc+1)+1) - dz * 0.5_num
26892689
END IF
26902690
IF (part%part_pos(3) >= minpos .AND. part%part_pos(3) < maxpos) THEN
26912691
coords(c_ndims-2) = iproc

0 commit comments

Comments
 (0)