26 const string str_vlevel = params.
get_string(
"verbose_level");
30 double c_plaq, c_rect;
68 static const double PI = 4.0 * atan(1.0);
69 static const double PI2 = PI * PI;
77 std::vector<Field_G> Fmunu_1x1(6);
81 for (
int mu = 0; mu < Ndim; ++mu) {
82 for (
int nu = mu + 1; nu < Ndim; ++nu) {
102 Q_1x1 /= (32.0 * PI2);
110 std::vector<Field_G> Fmunu_1x2(6);
113 for (
int mu = 0; mu < Ndim; ++mu) {
114 for (
int nu = mu + 1; nu < Ndim; ++nu) {
127 Q_1x2 /= (32.0 * PI2);
137 std::ofstream log_file;
167 for (
int site = 0; site < Nvol; ++site) {
168 Q_topo +=
ReTr(Fmunu_1.
mat(site) * Fmunu_2.
mat(site));
void construct_Fmunu_1x2(Field_G &Fmunu, const int mu, const int nu, const Field_G &U)
std::string m_filename_output
static double epsilon_criterion()
static const std::string class_name
void general(const char *format,...)
double measure(Field_G &U)
main function to measure Topological Charge.
int fetch_double(const string &key, double &value) const
void init(const std::string &filename)
double contract_epsilon_tensor(Field_G &Fmunu_1, Field_G &Fmunu_2)
void construct_Fmunu_1x1(Field_G &Fmunu, const int mu, const int nu, const Field_G &U)
FieldStrength m_field_strength
void crucial(const char *format,...)
Bridge::VerboseLevel m_vl
std::ostream & getStream()
virtual void set_parameters(const Parameters ¶ms)
setting parameters.
static int reduce_sum(int count, double *recv_buf, double *send_buf, int pattern=0)
make a global sum of an array of double over the communicator. pattern specifies the dimensions to be...
string get_string(const string &key) const
Mat_SU_N mat(const int site, const int mn=0) const
static VerboseLevel set_verbose_level(const std::string &str)
double ReTr(const Mat_SU_N &m)