| 251 |  | integer, intent(out) :: status | 
| 252 |  |  | 
| 253 |  | #ifdef IS_MPI | 
| 254 | < | integer :: nrow | 
| 255 | < | integer :: ncol | 
| 254 | > | integer :: nAtomsInRow | 
| 255 | > | integer :: nAtomsInCol | 
| 256 |  | #endif | 
| 257 |  | integer :: alloc_stat | 
| 258 |  |  | 
| 259 |  |  | 
| 260 |  | status = 0 | 
| 261 |  | #ifdef IS_MPI | 
| 262 | < | nrow = getNrow(plan_row) | 
| 263 | < | ncol = getNcol(plan_col) | 
| 262 | > | nAtomsInRow = getNatomsInRow(plan_atom_row) | 
| 263 | > | nAtomsInCol = getNatomsInCol(plan_atom_col) | 
| 264 |  | #endif | 
| 265 |  |  | 
| 266 |  | if (allocated(frho)) deallocate(frho) | 
| 301 |  |  | 
| 302 |  |  | 
| 303 |  | if (allocated(frho_row)) deallocate(frho_row) | 
| 304 | < | allocate(frho_row(nrow),stat=alloc_stat) | 
| 304 | > | allocate(frho_row(nAtomsInRow),stat=alloc_stat) | 
| 305 |  | if (alloc_stat /= 0) then | 
| 306 |  | status = -1 | 
| 307 |  | return | 
| 308 |  | end if | 
| 309 |  | if (allocated(rho_row)) deallocate(rho_row) | 
| 310 | < | allocate(rho_row(nrow),stat=alloc_stat) | 
| 310 | > | allocate(rho_row(nAtomsInRow),stat=alloc_stat) | 
| 311 |  | if (alloc_stat /= 0) then | 
| 312 |  | status = -1 | 
| 313 |  | return | 
| 314 |  | end if | 
| 315 |  | if (allocated(dfrhodrho_row)) deallocate(dfrhodrho_row) | 
| 316 | < | allocate(dfrhodrho_row(nrow),stat=alloc_stat) | 
| 316 | > | allocate(dfrhodrho_row(nAtomsInRow),stat=alloc_stat) | 
| 317 |  | if (alloc_stat /= 0) then | 
| 318 |  | status = -1 | 
| 319 |  | return | 
| 320 |  | end if | 
| 321 |  | if (allocated(d2frhodrhodrho_row)) deallocate(d2frhodrhodrho_row) | 
| 322 | < | allocate(d2frhodrhodrho_row(nrow),stat=alloc_stat) | 
| 322 | > | allocate(d2frhodrhodrho_row(nAtomsInRow),stat=alloc_stat) | 
| 323 |  | if (alloc_stat /= 0) then | 
| 324 |  | status = -1 | 
| 325 |  | return | 
| 329 |  | ! Now do column arrays | 
| 330 |  |  | 
| 331 |  | if (allocated(frho_col)) deallocate(frho_col) | 
| 332 | < | allocate(frho_col(ncol),stat=alloc_stat) | 
| 332 | > | allocate(frho_col(nAtomsInCol),stat=alloc_stat) | 
| 333 |  | if (alloc_stat /= 0) then | 
| 334 |  | status = -1 | 
| 335 |  | return | 
| 336 |  | end if | 
| 337 |  | if (allocated(rho_col)) deallocate(rho_col) | 
| 338 | < | allocate(rho_col(ncol),stat=alloc_stat) | 
| 338 | > | allocate(rho_col(nAtomsInCol),stat=alloc_stat) | 
| 339 |  | if (alloc_stat /= 0) then | 
| 340 |  | status = -1 | 
| 341 |  | return | 
| 342 |  | end if | 
| 343 |  | if (allocated(dfrhodrho_col)) deallocate(dfrhodrho_col) | 
| 344 | < | allocate(dfrhodrho_col(ncol),stat=alloc_stat) | 
| 344 | > | allocate(dfrhodrho_col(nAtomsInCol),stat=alloc_stat) | 
| 345 |  | if (alloc_stat /= 0) then | 
| 346 |  | status = -1 | 
| 347 |  | return | 
| 348 |  | end if | 
| 349 |  | if (allocated(d2frhodrhodrho_col)) deallocate(d2frhodrhodrho_col) | 
| 350 | < | allocate(d2frhodrhodrho_col(ncol),stat=alloc_stat) | 
| 350 | > | allocate(d2frhodrhodrho_col(nAtomsInCol),stat=alloc_stat) | 
| 351 |  | if (alloc_stat /= 0) then | 
| 352 |  | status = -1 | 
| 353 |  | return | 
| 567 |  | cleanme = .true. | 
| 568 |  | !! Scatter the electron density from  pre-pair calculation back to local atoms | 
| 569 |  | #ifdef IS_MPI | 
| 570 | < | call scatter(rho_row,rho,plan_row,eam_err) | 
| 570 | > | call scatter(rho_row,rho,plan_atom_row,eam_err) | 
| 571 |  | if (eam_err /= 0 ) then | 
| 572 |  | write(errMsg,*) " Error scattering rho_row into rho" | 
| 573 |  | call handleError(RoutineName,errMesg) | 
| 574 |  | endif | 
| 575 | < | call scatter(rho_col,rho_tmp,plan_col,eam_err) | 
| 575 | > | call scatter(rho_col,rho_tmp,plan_atom_col,eam_err) | 
| 576 |  | if (eam_err /= 0 ) then | 
| 577 |  | write(errMsg,*) " Error scattering rho_col into rho" | 
| 578 |  | call handleError(RoutineName,errMesg) | 
| 617 |  |  | 
| 618 |  | #ifdef IS_MPI | 
| 619 |  | !! communicate f(rho) and derivatives back into row and column arrays | 
| 620 | < | call gather(frho,frho_row,plan_row, eam_err) | 
| 620 | > | call gather(frho,frho_row,plan_atom_row, eam_err) | 
| 621 |  | if (eam_err /=  0) then | 
| 622 |  | call handleError("cal_eam_forces()","MPI gather frho_row failure") | 
| 623 |  | endif | 
| 624 | < | call gather(dfrhodrho,dfrhodrho_row,plan_row, eam_err) | 
| 624 | > | call gather(dfrhodrho,dfrhodrho_row,plan_atom_row, eam_err) | 
| 625 |  | if (eam_err /=  0) then | 
| 626 |  | call handleError("cal_eam_forces()","MPI gather dfrhodrho_row failure") | 
| 627 |  | endif | 
| 628 | < | call gather(frho,frho_col,plan_col, eam_err) | 
| 628 | > | call gather(frho,frho_col,plan_atom_col, eam_err) | 
| 629 |  | if (eam_err /=  0) then | 
| 630 |  | call handleError("cal_eam_forces()","MPI gather frho_col failure") | 
| 631 |  | endif | 
| 632 | < | call gather(dfrhodrho,dfrhodrho_col,plan_col, eam_err) | 
| 632 | > | call gather(dfrhodrho,dfrhodrho_col,plan_atom_col, eam_err) | 
| 633 |  | if (eam_err /=  0) then | 
| 634 |  | call handleError("cal_eam_forces()","MPI gather dfrhodrho_col failure") | 
| 635 |  | endif | 
| 639 |  |  | 
| 640 |  |  | 
| 641 |  | if (nmflag) then | 
| 642 | < | call gather(d2frhodrhodrho,d2frhodrhodrho_row,plan_row) | 
| 643 | < | call gather(d2frhodrhodrho,d2frhodrhodrho_col,plan_col) | 
| 642 | > | call gather(d2frhodrhodrho,d2frhodrhodrho_row,plan_atom_row) | 
| 643 | > | call gather(d2frhodrhodrho,d2frhodrhodrho_col,plan_atom_col) | 
| 644 |  | endif | 
| 645 |  | #endif | 
| 646 |  |  | 
| 816 |  |  | 
| 817 |  | vpair = vpair + phab | 
| 818 |  | #ifdef IS_MPI | 
| 819 | < | id1 = tagRow(atom1) | 
| 820 | < | id2 = tagColumn(atom2) | 
| 819 | > | id1 = AtomRowToGlobal(atom1) | 
| 820 | > | id2 = AtomColToGlobal(atom2) | 
| 821 |  | #else | 
| 822 |  | id1 = atom1 | 
| 823 |  | id2 = atom2 |