Bridge++  Version 1.4.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 "IO/bridgeIO.h"
26 
28 
41  public:
42  static const std::string class_name;
43 
44  private:
45  //- color, spinor and space-time dimension
46  static int m_Nc;
47  static const int m_Nd;
48  static const int m_Ndim;
49 
50  static const double m_epsilon_criterion;
51 
52  //- global lattice size
53  static int m_Lx, m_Ly, m_Lz, m_Lt;
54  static int m_Lvol;
55 
56  //- Number of processors assigined in each direction
57  static int m_NPEx, m_NPEy, m_NPEz, m_NPEt, m_NPE;
58  static char m_map_grid[16];
59 
60  //- local lattice size
61  static int m_Nx, m_Ny, m_Nz, m_Nt, m_Nvol;
62 
63  static bool m_initialized;
64 
68 
69  // static void setup(const string&);
70  static bool check_parameters();
71 
73 
74  public:
76  static void init(const std::vector<int>& lattice_size,
77  const std::vector<int>& grid_size);
78 
80  static void init(const std::vector<int>& lattice_size,
81  const std::vector<int>& grid_size,
82  const int Nc);
83 
85  static void init_Vlevel(Bridge::VerboseLevel vlevel);
86 
87  static void print_parameters();
88 
89  static int Lx() { return m_Lx; }
90  static int Ly() { return m_Ly; }
91  static int Lz() { return m_Lz; }
92  static int Lt() { return m_Lt; }
93  static int Lvol() { return m_Lvol; }
94 
95  static int NPEx() { return m_NPEx; }
96  static int NPEy() { return m_NPEy; }
97  static int NPEz() { return m_NPEz; }
98  static int NPEt() { return m_NPEt; }
99  static int NPE() { return m_NPE; }
100 
101  static char *Grid_map() { return m_map_grid; }
102 
103  static int Nx() { return m_Nx; }
104  static int Ny() { return m_Ny; }
105  static int Nz() { return m_Nz; }
106  static int Nt() { return m_Nt; }
107  static int Nvol() { return m_Nvol; }
108 
109  static int Lsize(const int dir);
110  static int Nsize(const int dir);
111  static int NPEsize(const int dir);
112 
113  static int Nc() { return m_Nc; }
114  static int Nd() { return m_Nd; }
115  static int Ndim() { return m_Ndim; }
116 
117  static double epsilon_criterion() { return m_epsilon_criterion; }
118  static double epsilon_criterion2() { return pow(m_epsilon_criterion, 2); }
119 
120  static Bridge::VerboseLevel Vlevel() { return m_vlevel; }
121 };
122 #endif
static int NPEy()
static double epsilon_criterion()
static int NPEt()
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 int Lvol()
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.
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 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 NPE()
static int Lsize(const int dir)