| 394 |
|
void mpiSimulation::mpiRefresh( void ){ |
| 395 |
|
|
| 396 |
|
int isError, i; |
| 397 |
< |
int *globalAtomIndex = new int[parallelData->nAtomsLocal]; |
| 397 |
> |
int *localToGlobalAtomIndex = new int[parallelData->nAtomsLocal]; |
| 398 |
> |
int *localToGlobalGroupIndex = new int[parallelData->nGroupsLocal]; |
| 399 |
|
|
| 400 |
< |
// Fortran indexing needs to be increased by 1 in order to get the 2 languages to |
| 401 |
< |
// not barf |
| 400 |
> |
// Fortran indexing needs to be increased by 1 in order to get the 2 |
| 401 |
> |
// languages to not barf |
| 402 |
|
|
| 403 |
< |
for(i=0; i<parallelData->nAtomsLocal; i++) globalAtomIndex[i] = entryPlug->atoms[i]->getGlobalIndex()+1; |
| 403 |
> |
for(i = 0; i < parallelData->nAtomsLocal; i++) |
| 404 |
> |
localToGlobalAtomIndex[i] = globalAtomIndex[i] + 1; |
| 405 |
> |
|
| 406 |
> |
for(i = 0; i < parallelData->nGroupsLocal; i++) |
| 407 |
> |
localToGlobalGroupIndex[i] = globalGroupIndex[i] + 1; |
| 408 |
|
|
| 409 |
|
isError = 0; |
| 410 |
< |
setFsimParallel( parallelData, &(entryPlug->n_atoms), globalAtomIndex, &isError ); |
| 410 |
> |
|
| 411 |
> |
setFsimParallel( parallelData, |
| 412 |
> |
&(parallelData->nAtomsLocal), localToGlobalAtomIndex, |
| 413 |
> |
&(parallelData->nGroupsLocal), localToGlobalGroupIndex, |
| 414 |
> |
&isError ); |
| 415 |
> |
|
| 416 |
|
if( isError ){ |
| 417 |
|
|
| 418 |
|
sprintf( painCave.errMsg, |
| 421 |
|
simError(); |
| 422 |
|
} |
| 423 |
|
|
| 424 |
< |
delete[] globalAtomIndex; |
| 424 |
> |
delete[] localToGlobalGroupIndex; |
| 425 |
> |
delete[] localToGlobalAtomIndex; |
| 426 |
|
|
| 427 |
|
|
| 428 |
|
sprintf( checkPointMsg, |