diff --git a/source/source_hsolver/module_genelpa/utils.cpp b/source/source_hsolver/module_genelpa/utils.cpp index 6654c33b9e..69eb885eb3 100644 --- a/source/source_hsolver/module_genelpa/utils.cpp +++ b/source/source_hsolver/module_genelpa/utils.cpp @@ -91,10 +91,15 @@ void loadMatrix(const char FileName[], int nFull, double* a, int* desca, int bla const int ROOT_PROC = 0; std::ifstream matrixFile; - if (myid == ROOT_PROC) + if (myid == ROOT_PROC){ matrixFile.open(FileName); - double* b; // buffer + if (!matrixFile.is_open()) { + std::cerr << "Error: failed to open file " << FileName << std::endl; + exit(EXIT_FAILURE); + } + } +double* b; // buffer const int MAX_BUFFER_SIZE = 1e9; // max buffer size is 1GB int N = nFull;