LCOV - code coverage report
Current view: top level - src/base - MooseInit.C (source / functions) Hit Total Coverage
Test: idaholab/moose framework: 2bf808 Lines: 14 14 100.0 %
Date: 2025-07-17 01:28:37 Functions: 4 4 100.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : //* This file is part of the MOOSE framework
       2             : //* https://mooseframework.inl.gov
       3             : //*
       4             : //* All rights reserved, see COPYRIGHT for full restrictions
       5             : //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
       6             : //*
       7             : //* Licensed under LGPL 2.1, please see LICENSE for details
       8             : //* https://www.gnu.org/licenses/lgpl-2.1.html
       9             : 
      10             : #include "MooseInit.h"
      11             : #include "ParallelUniqueId.h"
      12             : #include "Factory.h"
      13             : #include "ActionFactory.h"
      14             : #include "Executioner.h"
      15             : #include "MooseRandom.h"
      16             : 
      17             : #include "libmesh/petsc_solver_exception.h"
      18             : 
      19             : // PETSc
      20             : #include "petscsys.h"
      21             : 
      22             : #ifdef LIBMESH_HAVE_OPENMP
      23             : #include <omp.h>
      24             : #endif
      25             : 
      26             : #include <unistd.h>
      27             : #include <signal.h>
      28             : 
      29             : void
      30          28 : SigHandler(int signum)
      31             : {
      32          28 :   Moose::interrupt_signal_number = signum;
      33          28 :   return;
      34             : }
      35             : 
      36             : void
      37       51208 : RegisterSigHandler()
      38             : {
      39       51208 :   signal(SIGUSR1, SigHandler);
      40       51208 : }
      41             : 
      42       51208 : MooseInit::MooseInit(int argc, char * argv[], MPI_Comm COMM_WORLD_IN)
      43       51208 :   : LibMeshInit(argc, argv, COMM_WORLD_IN)
      44             : {
      45       51208 :   LibmeshPetscCallA(COMM_WORLD_IN, PetscPopSignalHandler()); // get rid of PETSc error handler
      46             : 
      47             : // Set the number of OpenMP threads to the same as the number of threads libMesh is going to use
      48             : #ifdef LIBMESH_HAVE_OPENMP
      49       51208 :   omp_set_num_threads(libMesh::n_threads());
      50             : #endif
      51             : 
      52       51208 :   ParallelUniqueId::initialize();
      53             : 
      54             :   // Make sure that any calls to the global random number generator are consistent among processes
      55       51208 :   MooseRandom::seed(0);
      56             : 
      57       51208 :   RegisterSigHandler();
      58       51208 : }

Generated by: LCOV version 1.14