diff --git a/src/utils/PETScWrapper.cpp b/src/utils/PETScWrapper.cpp index f88bbfd8a6bfd9de92d153e54c68e111f0b692b6..18b16aa1435c2f27dc4d850c0727ddb4e259acb0 100644 --- a/src/utils/PETScWrapper.cpp +++ b/src/utils/PETScWrapper.cpp @@ -13,6 +13,7 @@ initialize([[maybe_unused]] int& argc, [[maybe_unused]] char* argv[]) { #ifdef PUGS_HAS_PETSC PetscOptionsSetValue(NULL, "-no_signal_handler", "true"); + PetscOptionsSetValue(NULL, "-fp_trap", "false"); PetscInitialize(&argc, &argv, 0, 0); #endif // PUGS_HAS_PETSC } diff --git a/src/utils/PugsUtils.cpp b/src/utils/PugsUtils.cpp index d35fa95f43cb03810814ec6b62ed039842de1289..696dd8f86a2409bb5c456beeecb3063263d4f699 100644 --- a/src/utils/PugsUtils.cpp +++ b/src/utils/PugsUtils.cpp @@ -79,6 +79,8 @@ std::string initialize(int& argc, char* argv[]) { parallel::Messenger::create(argc, argv); + bool enable_fpe = true; + bool enable_signals = true; std::string filename; { @@ -100,10 +102,8 @@ initialize(int& argc, char* argv[]) bool enable_color = true; app.add_flag("--color,!--no-color", enable_color, "Colorize console output [default: true]"); - bool enable_fpe = true; app.add_flag("--fpe,!--no-fpe", enable_fpe, "Trap floating point exceptions [default: true]"); - bool enable_signals = true; app.add_flag("--signal,!--no-signal", enable_signals, "Catches signals [default: true]"); bool pause_on_error = false; @@ -119,14 +119,15 @@ initialize(int& argc, char* argv[]) } ConsoleManager::init(enable_color); - FPEManager::init(enable_fpe); SignalManager::setPauseForDebug(pause_on_error); - SignalManager::init(enable_signals); } PETScWrapper::initialize(argc, argv); SLEPcWrapper::initialize(argc, argv); + FPEManager::init(enable_fpe); + SignalManager::init(enable_signals); + setDefaultOMPEnvironment(); Kokkos::initialize(argc, argv); std::cout << "----------------- " << rang::fg::green << "pugs exec info" << rang::fg::reset