--- trunk/OOPSE/libmdtools/DumpWriter.cpp 2004/01/08 17:40:56 907 +++ trunk/OOPSE/libmdtools/DumpWriter.cpp 2004/01/08 18:05:37 910 @@ -78,6 +78,7 @@ void DumpWriter::writeDump( double currentTime ){ double atomOrientData[7]; int isDirectional; char* atomTypeString; + char MPIatomTypeString[MINIBUFFERSIZE]; int me; int atomTypeTag; int atomIsDirectionalTag; @@ -199,9 +200,11 @@ void DumpWriter::writeDump( double currentTime ){ atomTransDataTag = 4*i + 2; atomOrientDataTag = 4*i + 3; - MPI_Recv(atomTypeString, MINIBUFFERSIZE, MPI_CHAR, which_node, + MPI_Recv(MPIatomTypeString, MINIBUFFERSIZE, MPI_CHAR, which_node, atomTypeTag, MPI_COMM_WORLD, &istatus); + strncpy(atomTypeString, MPIatomTypeString, MINIBUFFERSIZE); + MPI_Recv(&isDirectional, 1, MPI_INT, which_node, atomIsDirectionalTag, MPI_COMM_WORLD, &istatus); @@ -373,7 +376,10 @@ void DumpWriter::writeDump( double currentTime ){ atomTransDataTag = 4*i + 2; atomOrientDataTag = 4*i + 3; - MPI_Send(atomTypeString, MINIBUFFERSIZE, MPI_CHAR, 0, + + strncpy(MPIatomTypeString, atomTypeString, MINIBUFFERSIZE); + + MPI_Send(MPIatomTypeString, MINIBUFFERSIZE, MPI_CHAR, 0, atomTypeTag, MPI_COMM_WORLD); MPI_Send(&isDirectional, 1, MPI_INT, 0, @@ -423,6 +429,7 @@ void DumpWriter::writeFinal(double finalTime){ double atomOrientData[7]; int isDirectional; char* atomTypeString; + char MPIatomTypeString[MINIBUFFERSIZE]; int atomTypeTag; int atomIsDirectionalTag; int atomTransDataTag; @@ -564,9 +571,11 @@ void DumpWriter::writeFinal(double finalTime){ atomTransDataTag = 4*i + 2; atomOrientDataTag = 4*i + 3; - MPI_Recv(atomTypeString, MINIBUFFERSIZE, MPI_CHAR, which_node, + MPI_Recv(MPIatomTypeString, MINIBUFFERSIZE, MPI_CHAR, which_node, atomTypeTag, MPI_COMM_WORLD, &istatus); + strncpy(atomTypeString, MPIatomTypeString, MINIBUFFERSIZE); + MPI_Recv(&isDirectional, 1, MPI_INT, which_node, atomIsDirectionalTag, MPI_COMM_WORLD, &istatus); @@ -738,7 +747,9 @@ void DumpWriter::writeFinal(double finalTime){ atomTransDataTag = 4*i + 2; atomOrientDataTag = 4*i + 3; - MPI_Send(atomTypeString, MINIBUFFERSIZE, MPI_CHAR, 0, + strncpy(MPIatomTypeString, atomTypeString, MINIBUFFERSIZE); + + MPI_Send(MPIatomTypeString, MINIBUFFERSIZE, MPI_CHAR, 0, atomTypeTag, MPI_COMM_WORLD); MPI_Send(&isDirectional, 1, MPI_INT, 0,