Loading [MathJax]/extensions/TeX/AMSmath.js
ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages Concepts
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