NESSi  v1.0.2
The NonEquilibrium Systems Simulation Library
cntr_global_settings.hpp
Go to the documentation of this file.
1 #ifndef CNTR_GLOBAL_SETTINGS_H
2 #define CNTR_GLOBAL_SETTINGS_H
3 
5 // determine whether OpenMP routines are available
6 // requires compilation with -fopenmp
7 
8 #ifdef CNTR_USE_OMP
9 #undef CNTR_USE_OMP
10 #define CNTR_USE_OMP 1
11 #endif
12 
13 #if CNTR_USE_OMP==1
14 #include <omp.h>
15 #endif
16 
17 
19 // determine whether MPI routines are available
20 // (this includes, e.g., some member functions for date exchange etc.)
21 
22 #ifdef CNTR_USE_MPI
23 #undef CNTR_USE_MPI
24 #define CNTR_USE_MPI 1
25 #endif
26 
27 #define MPI_MASTER 0
28 #if CNTR_USE_MPI==1
29 #include <mpi.h>
30 #endif
31 
32 #ifdef CNTR_USE_HDF5
33 #include "hdf5/hdf5_interface.hpp"
34 #endif
35 
36 
37 #define MAX_SOLVE_ORDER 5
38 
39 #define CNTR_PI 3.14159265358979323846
40 
41 #define CNTR_MAT_FOURIER 0
42 #define CNTR_MAT_CG 1
43 #define CNTR_MAT_FIXPOINT 2
44 
45 #define GREEN cntr::herm_matrix<double>
46 #define GREEN_TSTP cntr::herm_matrix_timestep<double>
47 #define CFUNC cntr::function<double>
48 #define CINTEG integration::I<double>
49 #define II cdouble(0.0,1.0)
50 
51 #define FERMION -1
52 #define BOSON 1
53 
54 #include <cmath>
55 #include <cassert>
56 #include <iostream>
57 #include <fstream>
58 #include <complex>
59 #include <vector>
60 #include <string>
61 #include "string.h"
62 
63 // using eigen library
64 #include "eigen_typedef.h"
65 #include <eigen3/unsupported/Eigen/MatrixFunctions>
66 
67 
68 // global types
69 typedef double r_type;
70 typedef std::complex<double> cdouble;
71 
72 #endif // CNTR_GLOBAL_SETTINGS_H
std::complex< double > cdouble
double r_type