const.h 3.45 KB
Newer Older
1
/*******************************************************************************
2
 * This file is part of SWIFT.
3
 * Copyright (c) 2012 Pedro Gonnet (ptcedro.gonnet@durham.ac.uk)
4
 *                    Matthieu Schaller (matthieu.schaller@durham.ac.uk)
5
 *
6
7
8
9
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published
 * by the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
10
 *
11
12
13
14
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
15
 *
16
17
 * You should have received a copy of the GNU Lesser General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
18
 *
19
 ******************************************************************************/
20
21
#ifndef SWIFT_CONST_H
#define SWIFT_CONST_H
22

23
/* SPH Viscosity constants. */
24
#define const_viscosity_alpha 0.8f
25
26
27
28
29
30
#define const_viscosity_alpha_min \
  0.1f /* Values taken from (Price,2004), not used in legacy gadget mode */
#define const_viscosity_alpha_max \
  2.0f /* Values taken from (Price,2004), not used in legacy gadget mode */
#define const_viscosity_length \
  0.1f /* Values taken from (Price,2004), not used in legacy gadget mode */
31
32

/* SPH Thermal conductivity constants. */
33
34
#define const_conductivity_alpha \
  1.f /* Value taken from (Price,2008), not used in legacy gadget mode */
35
36

/* Time integration constants. */
37
#define const_max_u_change 0.1f
38

39
/* Thermal energy per unit mass used as a constant for the isothermal EoS */
40
41
#define const_isothermal_internal_energy 20.2615290634f

42
/* Dimensionality of the problem */
43
#define HYDRO_DIMENSION_3D
44
//#define HYDRO_DIMENSION_2D
45
//#define HYDRO_DIMENSION_1D
46

47
48
/* Hydrodynamical adiabatic index. */
#define HYDRO_GAMMA_5_3
49
//#define HYDRO_GAMMA_7_5
50
51
52
//#define HYDRO_GAMMA_4_3
//#define HYDRO_GAMMA_2_1

53
/* Equation of state choice */
54
55
#define EOS_IDEAL_GAS
//#define EOS_ISOTHERMAL_GAS
56

57
58
59
60
61
62
63
64
/* Kernel function to use */
#define CUBIC_SPLINE_KERNEL
//#define QUARTIC_SPLINE_KERNEL
//#define QUINTIC_SPLINE_KERNEL
//#define WENDLAND_C2_KERNEL
//#define WENDLAND_C4_KERNEL
//#define WENDLAND_C6_KERNEL

65
/* SPH variant to use */
Matthieu Schaller's avatar
Matthieu Schaller committed
66
//#define MINIMAL_SPH
67
68
#define GADGET2_SPH
//#define HOPKINS_PE_SPH
69
//#define DEFAULT_SPH
70
//#define GIZMO_SPH
71

72
73
74
75
76
/* Riemann solver to use (GIZMO_SPH only) */
#define RIEMANN_SOLVER_EXACT
//#define RIEMANN_SOLVER_TRRS
//#define RIEMANN_SOLVER_HLLC

77
78
/* Type of gradients to use (GIZMO_SPH only) */
/* If no option is chosen, no gradients are used (first order scheme) */
79
80
81
//#define GRADIENTS_SPH
#define GRADIENTS_GIZMO

82
83
/* Types of slope limiter to use (GIZMO_SPH only) */
/* Different slope limiters can be combined */
84
85
#define SLOPE_LIMITER_PER_FACE
#define SLOPE_LIMITER_CELL_WIDE
86

87
/* Self gravity stuff. */
88
89
90
#define const_gravity_multipole_order 2
#define const_gravity_a_smooth 1.25f
#define const_gravity_r_cut 4.5f
91
92
93
#define const_gravity_eta 0.025f

/* External gravity properties */
94
95
//#define EXTERNAL_POTENTIAL_NONE
#define EXTERNAL_POTENTIAL_POINTMASS
96
//#define EXTERNAL_POTENTIAL_ISOTHERMALPOTENTIAL
97
//#define EXTERNAL_POTENTIAL_DISC_PATCH
98

Stefan Arridge's avatar
Stefan Arridge committed
99
/* Cooling properties */
100
101
#define COOLING_NONE
//#define COOLING_CONST_DU
102
//#define COOLING_CONST_LAMBDA
103
//#define COOLING_GRACKLE
104

105
/* Are we debugging ? */
106
#define SWIFT_DEBUG_CHECKS
107

108
#endif /* SWIFT_CONST_H */