--- branches/development/src/utils/simError.c 2011/07/11 01:39:49 1590 +++ trunk/src/utils/simError.cpp 2014/02/26 14:14:50 1969 @@ -35,17 +35,18 @@ * * [1] Meineke, et al., J. Comp. Chem. 26, 252-271 (2005). * [2] Fennell & Gezelter, J. Chem. Phys. 124, 234104 (2006). - * [3] Sun, Lin & Gezelter, J. Chem. Phys. 128, 24107 (2008). - * [4] Vardeman & Gezelter, in progress (2009). + * [3] Sun, Lin & Gezelter, J. Chem. Phys. 128, 234107 (2008). + * [4] Kuang & Gezelter, J. Chem. Phys. 133, 164101 (2010). + * [5] Vardeman, Stocker & Gezelter, J. Chem. Theory Comput. 7, 834 (2011). */ +#ifdef IS_MPI +#include +#endif #include #include #include #include "config.h" -#ifdef IS_MPI -#include -#endif int nChecks; @@ -63,7 +64,7 @@ void initSimError( void ){ painCave.isEventLoop = 0; nChecks = 0; #ifdef IS_MPI - MPI_Comm_rank( MPI_COMM_WORLD, &worldRank ); + MPI_Comm_rank( MPI_COMM_WORLD, &worldRank); #else worldRank = 0; #endif @@ -71,10 +72,13 @@ int simError( void ) { int simError( void ) { + char errorMsg[MAX_SIM_ERROR_MSG_LENGTH]; + +#ifdef IS_MPI int myError = 1; int isError; - char errorMsg[MAX_SIM_ERROR_MSG_LENGTH]; char nodeMsg[MAX_SIM_ERROR_MSG_LENGTH]; +#endif strcpy(errorMsg, "OpenMD "); switch( painCave.severity ) { @@ -104,7 +108,7 @@ int simError( void ) { strncat(errorMsg, painCave.errMsg, strlen(painCave.errMsg)); strcat(errorMsg, "\n"); - fprintf(stderr, errorMsg); + fprintf(stderr, "%s", errorMsg); #ifdef IS_MPI if (painCave.isEventLoop) @@ -114,36 +118,33 @@ int simError( void ) { if (painCave.isFatal) { #ifdef IS_MPI - MPI_Allreduce( &myError, &isError, 1, MPI_INT, MPI_LOR, MPI_COMM_WORLD ); + MPI_Allreduce(&myError, &isError, 1, MPI_INT, MPI_LOR, MPI_COMM_WORLD); MPI_Finalize(); #endif exit(0); - } - + } return 1; } - + void errorCheckPoint( void ){ - + int myError = 0; int isError = 0; - + #ifdef IS_MPI - MPI_Allreduce( &myError, &isError, 1, MPI_INT, MPI_LOR, MPI_COMM_WORLD ); + MPI_Allreduce(&myError, &isError, 1, MPI_INT, MPI_LOR, MPI_COMM_WORLD); #else isError = myError; #endif - - if( isError ){ - + + if( isError ){ #ifdef IS_MPI MPI_Finalize(); -#endif - +#endif exit(0); } - + #ifdef CHECKPOINT_VERBOSE nChecks++;