diff --git a/src/main.cpp b/src/main.cpp index 41f9cfc825..b9886c6c0d 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -12,11 +12,12 @@ ------------------------------------------------------------------------- */ #include "lammps.h" + #include "input.h" #include "mdi_interface.h" -#include #include +#include #if defined(LAMMPS_TRAP_FPE) && defined(_GNU_SOURCE) #include @@ -34,26 +35,24 @@ using namespace LAMMPS_NS; int main(int argc, char **argv) { - MPI_Init(&argc,&argv); + MPI_Init(&argc, &argv); - // initialize MDI - if ( MDI_Init(&argc,&argv) ) - MPI_Abort(MPI_COMM_WORLD, 1); + // initialize MDI or MDI dummy interface + + int mdi_flag; + if (MDI_Init(&argc, &argv)) MPI_Abort(MPI_COMM_WORLD, 1); + if (MDI_Initialized(&mdi_flag)) MPI_Abort(MPI_COMM_WORLD, 1); // get the MPI communicator that spans all ranks running LAMMPS // when using MDI, this may be a subset of MPI_COMM_WORLD - MPI_Comm lammps_comm = MPI_COMM_WORLD; - int mdi_flag; - if ( MDI_Initialized(&mdi_flag) ) - MPI_Abort(MPI_COMM_WORLD, 1); - if ( mdi_flag ) { - if ( MDI_MPI_get_world_comm( &lammps_comm ) ) - MPI_Abort(MPI_COMM_WORLD, 1); - } -// enable trapping selected floating point exceptions. -// this uses GNU extensions and is only tested on Linux -// therefore we make it depend on -D_GNU_SOURCE, too. + MPI_Comm lammps_comm = MPI_COMM_WORLD; + if (mdi_flag) + if (MDI_MPI_get_world_comm(&lammps_comm)) MPI_Abort(MPI_COMM_WORLD, 1); + + // enable trapping selected floating point exceptions. + // this uses GNU extensions and is only tested on Linux + // therefore we make it depend on -D_GNU_SOURCE, too. #if defined(LAMMPS_TRAP_FPE) && defined(_GNU_SOURCE) fesetenv(FE_NOMASK_ENV); @@ -65,27 +64,27 @@ int main(int argc, char **argv) #ifdef LAMMPS_EXCEPTIONS try { - LAMMPS *lammps = new LAMMPS(argc,argv,lammps_comm); + LAMMPS *lammps = new LAMMPS(argc, argv, lammps_comm); lammps->input->file(); delete lammps; - } catch(LAMMPSAbortException &ae) { + } catch (LAMMPSAbortException &ae) { MPI_Abort(ae.universe, 1); - } catch(LAMMPSException &e) { + } catch (LAMMPSException &e) { MPI_Barrier(lammps_comm); MPI_Finalize(); exit(1); - } catch(fmt::format_error &fe) { - fprintf(stderr,"fmt::format_error: %s\n", fe.what()); + } catch (fmt::format_error &fe) { + fprintf(stderr, "fmt::format_error: %s\n", fe.what()); MPI_Abort(MPI_COMM_WORLD, 1); exit(1); } #else try { - LAMMPS *lammps = new LAMMPS(argc,argv,lammps_comm); + LAMMPS *lammps = new LAMMPS(argc, argv, lammps_comm); lammps->input->file(); delete lammps; - } catch(fmt::format_error &fe) { - fprintf(stderr,"fmt::format_error: %s\n", fe.what()); + } catch (fmt::format_error &fe) { + fprintf(stderr, "fmt::format_error: %s\n", fe.what()); MPI_Abort(MPI_COMM_WORLD, 1); exit(1); }