SubSystemsManager.h

Note

The documentation on this page was automatically extracted from the DOLFIN C++ code and may need to be edited or expanded.

class SubSystemsManager

This is a singleton class which manages the initialisation and finalisation of various sub systems, such as MPI and PETSc.

static SubSystemsManager &singleton()

Singleton instance. Calling this ensures singleton instance of SubSystemsManager is initialized according to the “Construct on First Use” idiom.

static void init_mpi()

Initialise MPI

static int init_mpi(int argc, char *argv[], int required_thread_level)

Initialise MPI with required level of thread support

static void init_petsc()

Initialize PETSc without command-line arguments

static void init_petsc(int argc, char *argv[])

Initialize PETSc with command-line arguments. Note that PETSc command-line arguments may also be filtered and sent to PETSc by parameters.parse(argc, argv).

static void finalize()

Finalize subsystems. This will be called by the destructor, but in special cases it may be necessary to call finalize() explicitly.

static bool responsible_mpi()

Return true if DOLFIN initialised MPI (and is therefore responsible for finalization)

static bool responsible_petsc()

Return true if DOLFIN initialised PETSc (and is therefore responsible for finalization)

static bool mpi_initialized()

Check if MPI has been initialised (returns true if MPI has been initialised, even if it is later finalised)

static bool mpi_finalized()

Check if MPI has been finalized (returns true if MPI has been finalised)

static PetscErrorCode PetscDolfinErrorHandler(MPI_Comm comm, int line, const char *fun, const char *file, PetscErrorCode n, PetscErrorType p, const char *mess, void *ctx)

PETSc error handler. Logs everything known to DOLFIN logging system (with level TRACE) and stores the error message into pests_err_msg member.