Skip to content
Snippets Groups Projects
Commit 836b1960 authored by Christophe Geuzaine's avatar Christophe Geuzaine
Browse files

init mpi/petsc/slepc without args when we call gmsh with -info or -help

parent 35b28acf
No related branches found
No related tags found
No related merge requests found
...@@ -77,20 +77,31 @@ static int vsnprintf(char *str, size_t size, const char *fmt, va_list ap) ...@@ -77,20 +77,31 @@ static int vsnprintf(char *str, size_t size, const char *fmt, va_list ap)
void Msg::Init(int argc, char **argv) void Msg::Init(int argc, char **argv)
{ {
int sargc = argc;
char **sargv = argv;
for(int i = 0; i < argc; i++){
std::string val(argv[i]);
if(val == "info" || val == "-info" ||
val == "help" || val == "-help"){
sargc = 0;
sargv = 0;
break;
}
}
#if defined(HAVE_MPI) #if defined(HAVE_MPI)
int flag; int flag;
MPI_Initialized(&flag); MPI_Initialized(&flag);
if(!flag) MPI_Init(&argc, &argv); if(!flag) MPI_Init(&sargc, &sargv);
MPI_Comm_rank(MPI_COMM_WORLD, &_commRank); MPI_Comm_rank(MPI_COMM_WORLD, &_commRank);
MPI_Comm_size(MPI_COMM_WORLD, &_commSize); MPI_Comm_size(MPI_COMM_WORLD, &_commSize);
MPI_Errhandler_set(MPI_COMM_WORLD, MPI_ERRORS_RETURN); MPI_Errhandler_set(MPI_COMM_WORLD, MPI_ERRORS_RETURN);
#endif #endif
#if defined(HAVE_PETSC) #if defined(HAVE_PETSC)
PetscInitialize(&argc, &argv, PETSC_NULL, PETSC_NULL); PetscInitialize(&sargc, &sargv, PETSC_NULL, PETSC_NULL);
PetscPopSignalHandler(); PetscPopSignalHandler();
#endif #endif
#if defined(HAVE_SLEPC) #if defined(HAVE_SLEPC)
SlepcInitialize(&argc, &argv, PETSC_NULL, PETSC_NULL); SlepcInitialize(&sargc, &sargv, PETSC_NULL, PETSC_NULL);
#endif #endif
time_t now; time_t now;
time(&now); time(&now);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment