Bridge++  Version 1.5.4
 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 <cmath>
21 
22 //#include <valarray>
23 #include <vector>
24 
25 #include "bridge_long.h"
26 
27 #include "IO/bridgeIO.h"
28 
30 
43  public:
44  static const std::string class_name;
45 
46  private:
47  //- color, spinor and space-time dimension
48  static int m_Nc;
49  static const int m_Nd;
50  static const int m_Ndim;
51 
52  static const double m_epsilon_criterion;
53 
54  //- global lattice size
55  static int m_Lx, m_Ly, m_Lz, m_Lt;
56  static long_t m_Lvol;
57 
58  //- Number of processors assigined in each direction
59  static int m_NPEx, m_NPEy, m_NPEz, m_NPEt, m_NPE;
60  static char m_map_grid[16];
61 
62  //- local lattice size
63  static int m_Nx, m_Ny, m_Nz, m_Nt, m_Nvol;
64 
65  static bool m_initialized;
66 
70 
71  // static void setup(const string&);
72  static bool check_parameters();
73 
75 
76  public:
78  static void init(const std::vector<int>& lattice_size,
79  const std::vector<int>& grid_size);
80 
82  static void init(const std::vector<int>& lattice_size,
83  const std::vector<int>& grid_size,
84  const int Nc);
85 
87  static void init_Vlevel(Bridge::VerboseLevel vlevel);
88 
89  static void print_parameters();
90 
91  static int Lx() { return m_Lx; }
92  static int Ly() { return m_Ly; }
93  static int Lz() { return m_Lz; }
94  static int Lt() { return m_Lt; }
95  static long_t Lvol() { return m_Lvol; }
96 
97  static int NPEx() { return m_NPEx; }
98  static int NPEy() { return m_NPEy; }
99  static int NPEz() { return m_NPEz; }
100  static int NPEt() { return m_NPEt; }
101  static int NPE() { return m_NPE; }
102 
103  static char *Grid_map() { return m_map_grid; }
104 
105  static int Nx() { return m_Nx; }
106  static int Ny() { return m_Ny; }
107  static int Nz() { return m_Nz; }
108  static int Nt() { return m_Nt; }
109  static int Nvol() { return m_Nvol; }
110 
111  static int Lsize(const int dir);
112  static int Nsize(const int dir);
113  static int NPEsize(const int dir);
114 
115  static int Nc() { return m_Nc; }
116  static int Nd() { return m_Nd; }
117  static int Ndim() { return m_Ndim; }
118 
119  static double epsilon_criterion() { return m_epsilon_criterion; }
120  static double epsilon_criterion2() { return pow(m_epsilon_criterion, 2); }
121 
122  static Bridge::VerboseLevel Vlevel() { return m_vlevel; }
123 };
124 #endif
static int NPEy()
static double epsilon_criterion()
static long_t m_Lvol
CommonParameters(const CommonParameters &)
static const int m_Nd
static Bridge::VerboseLevel Vlevel()
static const std::string class_name
static char m_map_grid[16]
static void print_parameters()
static void init_Vlevel(Bridge::VerboseLevel vlevel)
initialization for default verbose level.
static Bridge::VerboseLevel m_vlevel
static const int m_Ndim
static double epsilon_criterion2()
static char * Grid_map()
Common parameter class: provides parameters as singleton.
long long_t
definition of long for Bridge++
Definition: bridge_long.h:46
static int NPEx()
static bool check_parameters()
static int NPEsize(const int dir)
static int NPEz()
static int Nsize(const int dir)
VerboseLevel
Definition: bridgeIO.h:42
static bool m_initialized
static const double m_epsilon_criterion
static long_t Lvol()
static void init(const std::vector< int > &lattice_size, const std::vector< int > &grid_size)
initialization (Nc=3 is assumed).
CommonParameters & operator=(const CommonParameters &)
static int Lsize(const int dir)