-
Notifications
You must be signed in to change notification settings - Fork 0
/
Definitions.mk
45 lines (35 loc) · 1.55 KB
/
Definitions.mk
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#MiMeS root directory
rootDir=./
#######################################-precision-#######################################
# LONG=long : in order to use long doubles. This is slower, but generally more accurate, since we can use tolerances down to 10^-11 (or below that).
# LONG= : in order to use doubles. This is faster. However the tolerances of the ODE solver cannt be below 1e-8.
# use long doubles in C++
LONG=long
# use doubles in C++
# LONG=
# use long doubles in python
LONGpy=long
# use doubles in python
# LONGpy=
#######################################-Runge Kutta method-#######################################
#------------------These are Rosenbrock (linearly implicit) methods: Generally RECOMMENDED---------------------#
SOLVER=1
# RODASPR2 is fairly accurate and fast enough (faster than the other two from NaBBODES), but one
# can use the others or provide another Butcher tableu and use it.
METHOD=RODASPR2
# METHOD=ROS34PW2
# METHOD=ROS3w
#-------------------------These are explicit RK methods: Generally NOT RECOMMENDED--------------------------#
# SOLVER=2
# DormandPrince is fairly fast. It can be better than RODASPR2 at very low tolerances
# because it is higher order. The other two can't even finish...
# METHOD=DormandPrince
# METHOD=CashKarp
# METHOD=RKF45
#compiler. I use g++, but clang -lstdc++
CC=g++
# CC=clang -lstdc++
#---optimization options---#
OPT=O3 #this should be fast and safe
# OPT=O0 #this is generally 2x slower than O3
# OPT=Ofast #this is usually bit faster than O3 but can cause issues (I haven't observed any though)