| 375 |  | which_node = AtomToProcMap[i]; | 
| 376 |  |  | 
| 377 |  | if (which_node == mpiSim->getMyNode()) { | 
| 378 | < |  | 
| 379 | < | sprintf( tempBuffer, | 
| 380 | < | "%s\t%lf\t%lf\t%lf\t%lf\t%lf\t%lf\t", | 
| 381 | < | atoms[i]->getType(), | 
| 382 | < | atoms[i]->getX(), | 
| 383 | < | atoms[i]->getY(), | 
| 384 | < | atoms[i]->getZ(), | 
| 385 | < | atoms[i]->get_vx(), | 
| 386 | < | atoms[i]->get_vy(), | 
| 387 | < | atoms[i]->get_vz()); | 
| 388 | < | strcpy( writeLine, tempBuffer ); | 
| 389 | < |  | 
| 390 | < | if( atoms[i]->isDirectional() ){ | 
| 391 | < |  | 
| 392 | < | dAtom = (DirectionalAtom *)atoms[i]; | 
| 393 | < | dAtom->getQ( q ); | 
| 394 | < |  | 
| 395 | < | sprintf( tempBuffer, | 
| 396 | < | "%lf\t%lf\t%lf\t%lf\t%lf\t%lf\t%lf\n", | 
| 397 | < | q[0], | 
| 398 | < | q[1], | 
| 399 | < | q[2], | 
| 400 | < | q[3], | 
| 401 | < | dAtom->getJx(), | 
| 402 | < | dAtom->getJy(), | 
| 403 | < | dAtom->getJz()); | 
| 404 | < | strcat( writeLine, tempBuffer ); | 
| 378 | > |  | 
| 379 | > | which_atom = i; | 
| 380 | > | local_index=-1; | 
| 381 | > | for (j=0; (j<mpiSim->getMyNlocal()) && (local_index < 0); j++) { | 
| 382 | > | if (atoms[j]->getGlobalIndex() == which_atom) local_index = j; | 
| 383 |  | } | 
| 384 | < | else | 
| 385 | < | strcat( writeLine, "0.0\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n" ); | 
| 386 | < |  | 
| 384 | > | if (local_index != -1) { | 
| 385 | > | sprintf( tempBuffer, | 
| 386 | > | "%s\t%lf\t%lf\t%lf\t%lf\t%lf\t%lf\t", | 
| 387 | > | atoms[local_index]->getType(), | 
| 388 | > | atoms[local_index]->getX(), | 
| 389 | > | atoms[local_index]->getY(), | 
| 390 | > | atoms[local_index]->getZ(), | 
| 391 | > | atoms[local_index]->get_vx(), | 
| 392 | > | atoms[local_index]->get_vy(), | 
| 393 | > | atoms[local_index]->get_vz()); | 
| 394 | > | strcpy( writeLine, tempBuffer ); | 
| 395 | > |  | 
| 396 | > | if( atoms[local_index]->isDirectional() ){ | 
| 397 | > |  | 
| 398 | > | dAtom = (DirectionalAtom *)atoms[local_index]; | 
| 399 | > | dAtom->getQ( q ); | 
| 400 | > |  | 
| 401 | > | sprintf( tempBuffer, | 
| 402 | > | "%lf\t%lf\t%lf\t%lf\t%lf\t%lf\t%lf\n", | 
| 403 | > | q[0], | 
| 404 | > | q[1], | 
| 405 | > | q[2], | 
| 406 | > | q[3], | 
| 407 | > | dAtom->getJx(), | 
| 408 | > | dAtom->getJy(), | 
| 409 | > | dAtom->getJz()); | 
| 410 | > | strcat( writeLine, tempBuffer ); | 
| 411 | > | } | 
| 412 | > | else | 
| 413 | > | strcat( writeLine, "0.0\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n" ); | 
| 414 | > | } | 
| 415 | > | else { | 
| 416 | > | strcpy( writeLine, "ATOM NOT FOUND ON THIS PROCESSOR"); | 
| 417 | > | } | 
| 418 | > |  | 
| 419 |  | } else { | 
| 420 |  |  | 
| 421 |  | MPI::COMM_WORLD.Send(&i, 1, MPI_INT, which_node, TAKE_THIS_TAG_INT); |