31 std::stringstream oss;
32 oss << std::left <<
"Framework Information:\n"
33 << std::setw(25) <<
"MOOSE Version: " << MOOSE_REVISION <<
'\n'
34 << std::setw(25) <<
"LibMesh Version: " << LIBMESH_BUILD_VERSION <<
'\n';
35#ifdef LIBMESH_DETECTED_PETSC_VERSION_MAJOR
36 oss << std::setw(25) <<
"PETSc Version: " << LIBMESH_DETECTED_PETSC_VERSION_MAJOR <<
'.'
37 << LIBMESH_DETECTED_PETSC_VERSION_MINOR <<
'.' << LIBMESH_DETECTED_PETSC_VERSION_SUBMINOR
40#ifdef LIBMESH_DETECTED_SLEPC_VERSION_MAJOR
41 oss << std::setw(25) <<
"SLEPc Version: " << LIBMESH_DETECTED_SLEPC_VERSION_MAJOR <<
'.'
42 << LIBMESH_DETECTED_SLEPC_VERSION_MINOR <<
'.' << LIBMESH_DETECTED_SLEPC_VERSION_SUBMINOR
45#ifdef MOOSE_LIBTORCH_ENABLED
46 oss << std::setw(25) <<
"Libtorch Version: " << TORCH_VERSION <<
'\n';
48#ifdef MOOSE_MFEM_ENABLED
49 oss << std::setw(25) <<
"MFEM Version: " << MFEM_VERSION_STRING <<
'\n';
53 oss << std::setw(25) <<
"Current Time: " <<
getTimeStamp() <<
"\n";
57 if (!executable_time.empty())
58 oss << std::setw(25) <<
"Executable Timestamp: " << executable_time <<
"\n";
68 struct tm * tm_struct;
69 std::time_t local_time;
71#ifdef LIBMESH_HAVE_LOCALE
74 const std::time_put<char> & tp = std::use_facet<std::time_put<char>>(loc);
79 local_time = time(NULL);
80 time_stamp = &local_time;
82 tm_struct = std::localtime(time_stamp);
85 std::ostringstream date_stream;
104 return date_stream.str();
109 const unsigned int time_size = 40;
110 char time_buffer[time_size];
114 local_time = time(NULL);
115 time_stamp = &local_time;
117 tm_struct = std::localtime(time_stamp);
125 size_t len = strftime(time_buffer, time_size,
"%c", tm_struct);
128 return std::string(time_buffer);
131 libMesh::out <<
"Error formatting time buffer, returning empty string!" << std::endl;
132 return std::string(
"");