Loading [MathJax]/extensions/TeX/AMSsymbols.js
 deal.II version GIT relicensing-2684-gc61376a70f 2025-02-22 15:30:00+00:00
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
mpi_stub.h
Go to the documentation of this file.
1// ------------------------------------------------------------------------
2//
3// SPDX-License-Identifier: LGPL-2.1-or-later
4// Copyright (C) 2022 - 2023 by the deal.II authors
5//
6// This file is part of the deal.II library.
7//
8// Part of the source code is dual licensed under Apache-2.0 WITH
9// LLVM-exception OR LGPL-2.1-or-later. Detailed license information
10// governing the source code and code contributions can be found in
11// LICENSE.md and CONTRIBUTING.md at the top level directory of deal.II.
12//
13// ------------------------------------------------------------------------
14
15#ifndef dealii_mpi_stub_h
16#define dealii_mpi_stub_h
17
18#include <deal.II/base/config.h>
19
20// If we have mpi.h then include it. Otherwise, define some common MPI data
21// types and global constants for the no-MPI case. This way we can still use,
22// e.g., MPI_Comm in the API.
23
24#if defined(DEAL_II_WITH_MPI)
25# include <mpi.h>
26#else
27
28// Without MPI, we would still like to use some constructs with MPI
29// data types. Therefore, create some dummies. Since we only ever use
30// them inside our own constructs, the right thing to do is to put
31// them into namespace dealii:
33
34using MPI_Comm = int;
35using MPI_Request = int;
36using MPI_Datatype = int;
37using MPI_Op = int;
38
39constexpr MPI_Comm MPI_COMM_WORLD = 0;
40constexpr MPI_Comm MPI_COMM_SELF = 0;
41constexpr MPI_Comm MPI_COMM_NULL = 0;
42constexpr MPI_Request MPI_REQUEST_NULL = 0;
43constexpr MPI_Op MPI_MIN = 0;
44constexpr MPI_Op MPI_MAX = 0;
45constexpr MPI_Op MPI_SUM = 0;
46constexpr MPI_Op MPI_LOR = 0;
47
49
50#endif
51#endif
#define DEAL_II_NAMESPACE_OPEN
Definition config.h:522
#define DEAL_II_NAMESPACE_CLOSE
Definition config.h:523