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-2022 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/** \file
25 *
26 * This file contains the defaults for ESPResSo. To modify them, add
27 * an appropriate line in myconfig.hpp. To find a list of features that
28 * can be compiled into ESPResSo, refer to myconfig-sample.hpp or to
29 * the documentation of the features.
30 */
31
32/* Prevent C++ bindings in MPI (there is a DataType called LB in there) */
33#ifndef OMPI_SKIP_MPICXX
34#define OMPI_SKIP_MPICXX
35#endif
36#ifndef MPICH_SKIP_MPICXX
37#define MPICH_SKIP_MPICXX
38#endif
39
40#include "config/config-features.hpp"
41
42/** P3M: Default for offset of first mesh point from the origin (left
43 * down corner of the simulation box).
44 */
45#ifndef P3M_MESHOFF
46#define P3M_MESHOFF 0.5
47#endif
48
49/** P3M: Number of Brillouin zones taken into account
50 * in the calculation of the optimal influence function (aliasing sums).
51 */
52#ifndef P3M_BRILLOUIN
53#define P3M_BRILLOUIN 0
54#endif
55
56/** Whether to use the approximation of Abramowitz/Stegun @cite abramowitz65a
57 * @ref Utils::AS_erfc_part() for \f$\exp(d^2) \mathrm{erfc}(d)\f$,
58 * or the C function <tt>std::erfc()</tt> in P3M and Ewald summation.
59 */
60#ifndef USE_ERFC_APPROXIMATION
61#define USE_ERFC_APPROXIMATION 1
62#endif
63
64/** Precision for capture of round off errors. */
65#ifndef ROUND_ERROR_PREC
66#define ROUND_ERROR_PREC 1.0e-14
67#endif
68
69/** Tiny angle cutoff for sinus calculations. */
70#ifndef TINY_SIN_VALUE
71#define TINY_SIN_VALUE 1e-10
72#endif
73/** Tiny angle cutoff for cosine calculations. */
74#ifndef TINY_COS_VALUE
75#define TINY_COS_VALUE 0.9999999999
76#endif
77/** Tiny length cutoff. */
78#ifndef TINY_LENGTH_VALUE
79#define TINY_LENGTH_VALUE 0.0001
80#endif
81/** Tiny oif elasticity cutoff. */
82#ifndef TINY_OIF_ELASTICITY_COEFFICIENT
83#define TINY_OIF_ELASTICITY_COEFFICIENT 1e-10
84#endif
85
86/** Maximal number of iterations in the RATTLE algorithm before it bails out. */
87#ifndef SHAKE_MAX_ITERATIONS
88#define SHAKE_MAX_ITERATIONS 1000
89#endif
90
91/** Maximal number of objects in the object-in-fluid framework. */
92#ifndef MAX_OBJECTS_IN_FLUID
93#define MAX_OBJECTS_IN_FLUID 10000
94#endif
95
96#endif