Bridge++  Ver. 1.1.x
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
commonParameters.h
Go to the documentation of this file.
1 
14 #ifndef COMMONPARAMETERS_INCLUDED
15 #define COMMONPARAMETERS_INCLUDED
16 
17 #include <string>
18 using std::string;
19 
20 #include <valarray>
21 using std::valarray;
22 
23 #include "bridgeIO.h"
24 
26 
37  private:
38 
39  //- color, spinor and space-time dimension
40  static const int m_Nc;
41  static const int m_Nd;
42  static const int m_Ndim;
43 
44  static const double m_epsilon_criterion;
45 
46  //- global lattice size
47  static int m_Lx, m_Ly, m_Lz, m_Lt;
48  static int m_Lvol;
49 
50  //- Number of processors assigined in each direction
51  static int m_NPEx, m_NPEy, m_NPEz, m_NPEt, m_NPE;
52  static char m_map_grid[16];
53 
54  //- local lattice size
55  static int m_Nx, m_Ny, m_Nz, m_Nt, m_Nvol;
56 
57  static bool m_initialized;
58 
62 
63  // static void setup(const string&);
64  static bool check_parameters();
65 
67 
68  public:
69  // static void init(const string&);
70  static void init(const valarray<int>& lattice_size, const valarray<int>& grid_size);
71 
72  static void print_parameters();
73 
74  static int Lx() { return m_Lx; }
75  static int Ly() { return m_Ly; }
76  static int Lz() { return m_Lz; }
77  static int Lt() { return m_Lt; }
78  static int Lvol() { return m_Lvol; }
79 
80  static int NPEx() { return m_NPEx; }
81  static int NPEy() { return m_NPEy; }
82  static int NPEz() { return m_NPEz; }
83  static int NPEt() { return m_NPEt; }
84  static int NPE() { return m_NPE; }
85 
86  static char *Grid_map() { return m_map_grid; }
87 
88  static int Nx() { return m_Nx; }
89  static int Ny() { return m_Ny; }
90  static int Nz() { return m_Nz; }
91  static int Nt() { return m_Nt; }
92  static int Nvol() { return m_Nvol; }
93 
94  static int Nc() { return m_Nc; }
95  static int Nd() { return m_Nd; }
96  static int Ndim() { return m_Ndim; }
97 
98  static double epsilon_criterion() { return m_epsilon_criterion; }
99  static double epsilon_criterion2() { return pow(m_epsilon_criterion, 2); }
100 
101  static Bridge::VerboseLevel Vlevel() { return m_vlevel; }
102 };
103 #endif