ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
Loading...
Searching...
No Matches
config.hpp
Go to the documentation of this file.
1/*
2 * Copyright (C) 2010-2025 The ESPResSo project
3 * Copyright (C) 2002,2003,2004,2005,2006,2007,2008,2009,2010
4 * Max-Planck-Institute for Polymer Research, Theory Group
5 *
6 * This file is part of ESPResSo.
7 *
8 * ESPResSo is free software: you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation, either version 3 of the License, or
11 * (at your option) any later version.
12 *
13 * ESPResSo is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program. If not, see <http://www.gnu.org/licenses/>.
20 */
21#ifndef ESPRESSO_CONFIG_HPP
22#define ESPRESSO_CONFIG_HPP
23
24/* Prevent C++ bindings in MPI (there is a DataType called LB in there) */
25#ifndef OMPI_SKIP_MPICXX
26#define OMPI_SKIP_MPICXX
27#endif
28#ifndef MPICH_SKIP_MPICXX
29#define MPICH_SKIP_MPICXX
30#endif
31
32#include "config/config-features.hpp"
33
34#include <version>
35
36#if defined(_GLIBCXX_RELEASE)
37static_assert(_GLIBCXX_RELEASE >= 12, "unsupported libstdc++ version");
38#endif
39#if defined(_LIBCPP_VERSION)
40static_assert(_LIBCPP_VERSION / 10000 >= 16, "unsupported libc++ version");
41#endif
42
43/**
44 * @brief Precision below which a double-precision float is assumed to be zero.
45 * Used in comparisons to determine if two floating-point numbers are equal.
46 */
47inline constexpr auto round_error_prec = 1e-14;
48
49/**
50 * @brief Special cutoff value for an inactive interaction.
51 * Non-bonded potentials that have this cutoff are never evaluated.
52 */
53inline constexpr double inactive_cutoff = -1.;
54
55/**
56 * @brief Special cutoff value for an inactive bond.
57 * Bonds that have this cutoff are never evaluated.
58 */
59inline constexpr double bonded_inactive_cutoff = -1.;
60
61#endif // ESPRESSO_CONFIG_HPP
constexpr double bonded_inactive_cutoff
Special cutoff value for an inactive bond.
Definition config.hpp:59
constexpr auto round_error_prec
Precision below which a double-precision float is assumed to be zero.
Definition config.hpp:47
constexpr double inactive_cutoff
Special cutoff value for an inactive interaction.
Definition config.hpp:53