26 const string str_vlevel = params.
get_string(
"verbose_level");
30 double c_plaq, c_rect;
36 err += params.
fetch_int(
"max_momentum", max_mom);
73 static const double PI = 4.0 * atan(1.0);
74 static const double PI2 = PI * PI;
82 std::vector<Field_G> Fmunu_1x1(6);
85 for (
int mu = 0; mu < Ndim; ++mu) {
86 for (
int nu = mu + 1; nu < Ndim; ++nu) {
106 Q_1x1 /= (32.0 * PI2);
118 std::vector<Field_G> Fmunu_1x2(6);
121 for (
int mu = 0; mu < Ndim; ++mu) {
122 for (
int nu = mu + 1; nu < Ndim; ++nu) {
135 Q_1x2 /= (32.0 * PI2);
146 std::ofstream log_file;
174 static const double PI = 4.0 * atan(1.0);
175 static const double PI2 = PI * PI;
177 static const double factor1 = 8.0 / (32.0 * PI2);
179 static const double factor2 = 16.0 / (32.0 * PI2);
215 const double Q_rect =
m_c_rect * Q_1x2;
219 std::ofstream log_file;
243 static const double PI = 4.0 * atan(1.0);
244 static const double PI2 = PI * PI;
245 static const double factor1 = 8.0 / (32.0 * PI2);
246 static const double factor2 = 16.0 / (32.0 * PI2);
248 static const double l_c_rect = 1.0 / 8.0;
254 std::vector<double> corr_scr(Lt);
257 std::vector<double> corr_plaq(Lt, 0.0);
260 for (
int t = 0; t < Lt; ++t) {
261 corr_plaq[t] += corr_scr[t];
264 for (
int t = 0; t < Lt; ++t) {
265 corr_plaq[t] -= corr_scr[t];
268 for (
int t = 0; t < Lt; ++t) {
269 corr_plaq[t] += corr_scr[t];
272 for (
int t = 0; t < Lt; ++t) {
273 corr_plaq[t] *= factor1;
278 std::vector<double> corr_1x1(Lt, 0.0);
283 for (
int t = 0; t < Lt; ++t) {
284 corr_1x1[t] += corr_scr[t];
288 for (
int t = 0; t < Lt; ++t) {
289 corr_1x1[t] -= corr_scr[t];
293 for (
int t = 0; t < Lt; ++t) {
294 corr_1x1[t] += corr_scr[t];
297 for (
int t = 0; t < Lt; ++t) {
298 corr_1x1[t] *= factor1;
303 std::vector<double> corr_1x2(Lt, 0.0);
307 for (
int t = 0; t < Lt; ++t) {
308 corr_1x2[t] += corr_scr[t];
311 for (
int t = 0; t < Lt; ++t) {
312 corr_1x2[t] -= corr_scr[t];
315 for (
int t = 0; t < Lt; ++t) {
316 corr_1x2[t] += corr_scr[t];
319 for (
int t = 0; t < Lt; ++t) {
320 corr_1x2[t] *= factor2;
327 std::ofstream log_file;
334 for (
int t = 0; t < Lt; ++t) {
335 vout.
general(
m_vl,
" Q_clover_plaq_t = %.8f %d %.16e\n", tt, t, corr_1x1[t]);
340 scr = l_c_rect * corr_1x2[t];
342 vout.
general(
m_vl,
" Q_plaq_t = %.8f %d %.16e\n", tt, t, corr_plaq[t]);
364 static const double PI = 4.0 * atan(1.0);
365 static const double PI2 = PI * PI;
366 static const double factor1 = 8.0 / (32.0 * PI2);
367 static const double factor2 = 16.0 / (32.0 * PI2);
368 static const double l_c_rect = 1.0 / 8.0;
375 vector<int> source_position(4, 0);
376 vector<int> momentum_sink(3);
378 for (
int ipx = 0; ipx <
m_max_mom + 1; ipx++) {
379 for (
int ipy = 0; ipy < Np; ipy++) {
380 for (
int ipz = 0; ipz < Np; ipz++) {
381 momentum_sink[0] = ipx;
385 std::vector<double> corr_plaq(Lt, 0);
386 std::vector<double> corr_1x1(Lt, 0);
387 std::vector<double> corr_1x2(Lt, 0);
388 std::vector<double> corr_scr(Lt);
392 for (
int t = 0; t < Lt; ++t) {
393 corr_plaq[t] += corr_scr[t];
396 for (
int t = 0; t < Lt; ++t) {
397 corr_plaq[t] -= corr_scr[t];
400 for (
int t = 0; t < Lt; ++t) {
401 corr_plaq[t] += corr_scr[t];
404 for (
int t = 0; t < Lt; ++t) {
405 corr_plaq[t] *= factor1;
413 for (
int t = 0; t < Lt; ++t) {
414 corr_1x1[t] += corr_scr[t];
418 for (
int t = 0; t < Lt; ++t) {
419 corr_1x1[t] -= corr_scr[t];
423 for (
int t = 0; t < Lt; ++t) {
424 corr_1x1[t] += corr_scr[t];
427 for (
int t = 0; t < Lt; ++t) {
428 corr_1x1[t] *= factor1;
435 for (
int t = 0; t < Lt; ++t) {
436 corr_1x2[t] += corr_scr[t];
439 for (
int t = 0; t < Lt; ++t) {
440 corr_1x2[t] -= corr_scr[t];
443 for (
int t = 0; t < Lt; ++t) {
444 corr_1x2[t] += corr_scr[t];
447 for (
int t = 0; t < Lt; ++t) {
448 corr_1x2[t] *= factor2;
455 std::ofstream log_file;
462 for (
int t = 0; t < Lt; ++t) {
463 vout.
general(
m_vl,
" Q_clover_plaq_t_FT = %d %d %d %.8f %d %.16e\n", momentum_sink[0], momentum_sink[1], momentum_sink[2], tt, t, corr_1x1[t]);
465 vout.
general(
m_vl,
" Q_clover_imp_t_FT = %d %d %d %.8f %d %.16e\n", momentum_sink[0], momentum_sink[1], momentum_sink[2], tt, t, scr);
466 scr = l_c_rect * corr_1x2[t];
467 vout.
general(
m_vl,
" Q_clover_rect_t_FT = %d %d %d %.8f %d %.16e\n", momentum_sink[0], momentum_sink[1], momentum_sink[2], tt, t, scr);
468 vout.
general(
m_vl,
" Q_plaq_t_FT = %d %d %d %.8f %d %.16e\n", momentum_sink[0], momentum_sink[1], momentum_sink[2], tt, t, corr_plaq[t]);
495 static const double PI = 4.0 * atan(1.0);
496 static const double PI2 = PI * PI;
497 static const double factor1 = 8.0 / (32.0 * PI2);
498 static const double factor2 = 16.0 / (32.0 * PI2);
500 static const double l_c_rect = 1.0 / 8.0;
506 std::vector<double> corr_scr(Lx);
509 std::vector<double> corr_plaq(Lx, 0.0);
512 for (
int x = 0; x < Lx; ++x) {
513 corr_plaq[x] += corr_scr[x];
516 for (
int x = 0; x < Lx; ++x) {
517 corr_plaq[x] -= corr_scr[x];
520 for (
int x = 0; x < Lx; ++x) {
521 corr_plaq[x] += corr_scr[x];
524 for (
int x = 0; x < Lx; ++x) {
525 corr_plaq[x] *= factor1;
530 std::vector<double> corr_1x1(Lx, 0.0);
535 for (
int x = 0; x < Lx; ++x) {
536 corr_1x1[x] += corr_scr[x];
540 for (
int x = 0; x < Lx; ++x) {
541 corr_1x1[x] -= corr_scr[x];
545 for (
int x = 0; x < Lx; ++x) {
546 corr_1x1[x] += corr_scr[x];
549 for (
int x = 0; x < Lx; ++x) {
550 corr_1x1[x] *= factor1;
555 std::vector<double> corr_1x2(Lx, 0.0);
559 for (
int x = 0; x < Lx; ++x) {
560 corr_1x2[x] += corr_scr[x];
563 for (
int x = 0; x < Lx; ++x) {
564 corr_1x2[x] -= corr_scr[x];
567 for (
int x = 0; x < Lx; ++x) {
568 corr_1x2[x] += corr_scr[x];
571 for (
int x = 0; x < Lx; ++x) {
572 corr_1x2[x] *= factor2;
579 std::ofstream log_file;
586 for (
int x = 0; x < Lx; ++x) {
587 vout.
general(
m_vl,
" Q_clover_plaq_x = %.8f %d %.16e\n", tt, x, corr_1x1[x]);
592 scr = l_c_rect * corr_1x2[x];
594 vout.
general(
m_vl,
" Q_plaq_x = %.8f %d %.16e\n", tt, x, corr_plaq[x]);
617 static const double PI = 4.0 * atan(1.0);
618 static const double PI2 = PI * PI;
619 static const double factor1 = 8.0 / (32.0 * PI2);
620 static const double factor2 = 16.0 / (32.0 * PI2);
621 static const double l_c_rect = 1.0 / 8.0;
628 vector<int> source_position(4, 0);
629 vector<int> momentum_sink(3);
631 for (
int ipx = 0; ipx <
m_max_mom + 1; ipx++) {
632 for (
int ipy = 0; ipy < Np; ipy++) {
633 for (
int ipz = 0; ipz < Np; ipz++) {
634 momentum_sink[0] = ipx;
638 std::vector<double> corr_plaq(Lx, 0);
639 std::vector<double> corr_1x1(Lx, 0);
640 std::vector<double> corr_1x2(Lx, 0);
641 std::vector<double> corr_scr(Lx);
645 for (
int t = 0; t < Lx; ++t) {
646 corr_plaq[t] += corr_scr[t];
649 for (
int t = 0; t < Lx; ++t) {
650 corr_plaq[t] -= corr_scr[t];
653 for (
int t = 0; t < Lx; ++t) {
654 corr_plaq[t] += corr_scr[t];
657 for (
int t = 0; t < Lx; ++t) {
658 corr_plaq[t] *= factor1;
666 for (
int t = 0; t < Lx; ++t) {
667 corr_1x1[t] += corr_scr[t];
671 for (
int t = 0; t < Lx; ++t) {
672 corr_1x1[t] -= corr_scr[t];
676 for (
int t = 0; t < Lx; ++t) {
677 corr_1x1[t] += corr_scr[t];
680 for (
int t = 0; t < Lx; ++t) {
681 corr_1x1[t] *= factor1;
688 for (
int t = 0; t < Lx; ++t) {
689 corr_1x2[t] += corr_scr[t];
692 for (
int t = 0; t < Lx; ++t) {
693 corr_1x2[t] -= corr_scr[t];
696 for (
int t = 0; t < Lx; ++t) {
697 corr_1x2[t] += corr_scr[t];
700 for (
int t = 0; t < Lx; ++t) {
701 corr_1x2[t] *= factor2;
708 std::ofstream log_file;
715 for (
int t = 0; t < Lx; ++t) {
716 vout.
general(
m_vl,
" Q_clover_plaq_x_FT = %d %d %d %.8f %d %.16e\n", momentum_sink[0], momentum_sink[1], momentum_sink[2], tt, t, corr_1x1[t]);
718 vout.
general(
m_vl,
" Q_clover_imp_x_FT = %d %d %d %.8f %d %.16e\n", momentum_sink[0], momentum_sink[1], momentum_sink[2], tt, t, scr);
719 scr = l_c_rect * corr_1x2[t];
720 vout.
general(
m_vl,
" Q_clover_rect_x_FT = %d %d %d %.8f %d %.16e\n", momentum_sink[0], momentum_sink[1], momentum_sink[2], tt, t, scr);
721 vout.
general(
m_vl,
" Q_plaq_x_FT = %d %d %d %.8f %d %.16e\n", momentum_sink[0], momentum_sink[1], momentum_sink[2], tt, t, corr_plaq[t]);
748 static const double PI = 4.0 * atan(1.0);
749 static const double PI2 = PI * PI;
750 static const double factor1 = 8.0 / (32.0 * PI2);
751 static const double factor2 = 16.0 / (32.0 * PI2);
753 static const double l_c_rect = 1.0 / 8.0;
759 std::vector<double> corr_scr(Ly);
762 std::vector<double> corr_plaq(Ly, 0.0);
765 for (
int y = 0; y < Ly; ++y) {
766 corr_plaq[y] += corr_scr[y];
769 for (
int y = 0; y < Ly; ++y) {
770 corr_plaq[y] -= corr_scr[y];
773 for (
int y = 0; y < Ly; ++y) {
774 corr_plaq[y] += corr_scr[y];
777 for (
int y = 0; y < Ly; ++y) {
778 corr_plaq[y] *= factor1;
783 std::vector<double> corr_1x1(Ly, 0.0);
788 for (
int y = 0; y < Ly; ++y) {
789 corr_1x1[y] += corr_scr[y];
793 for (
int y = 0; y < Ly; ++y) {
794 corr_1x1[y] -= corr_scr[y];
798 for (
int y = 0; y < Ly; ++y) {
799 corr_1x1[y] += corr_scr[y];
802 for (
int y = 0; y < Ly; ++y) {
803 corr_1x1[y] *= factor1;
808 std::vector<double> corr_1x2(Ly, 0.0);
812 for (
int y = 0; y < Ly; ++y) {
813 corr_1x2[y] += corr_scr[y];
816 for (
int y = 0; y < Ly; ++y) {
817 corr_1x2[y] -= corr_scr[y];
820 for (
int y = 0; y < Ly; ++y) {
821 corr_1x2[y] += corr_scr[y];
824 for (
int y = 0; y < Ly; ++y) {
825 corr_1x2[y] *= factor2;
832 std::ofstream log_file;
839 for (
int y = 0; y < Ly; ++y) {
840 vout.
general(
m_vl,
" Q_clover_plaq_y = %.8f %d %.16e\n", tt, y, corr_1x1[y]);
845 scr = l_c_rect * corr_1x2[y];
847 vout.
general(
m_vl,
" Q_plaq_y = %.8f %d %.16e\n", tt, y, corr_plaq[y]);
870 static const double PI = 4.0 * atan(1.0);
871 static const double PI2 = PI * PI;
872 static const double factor1 = 8.0 / (32.0 * PI2);
873 static const double factor2 = 16.0 / (32.0 * PI2);
874 static const double l_c_rect = 1.0 / 8.0;
881 vector<int> source_position(4, 0);
882 vector<int> momentum_sink(3);
884 for (
int ipx = 0; ipx <
m_max_mom + 1; ipx++) {
885 for (
int ipy = 0; ipy < Np; ipy++) {
886 for (
int ipz = 0; ipz < Np; ipz++) {
887 momentum_sink[0] = ipx;
891 std::vector<double> corr_plaq(Ly, 0);
892 std::vector<double> corr_1x1(Ly, 0);
893 std::vector<double> corr_1x2(Ly, 0);
894 std::vector<double> corr_scr(Ly);
898 for (
int t = 0; t < Ly; ++t) {
899 corr_plaq[t] += corr_scr[t];
902 for (
int t = 0; t < Ly; ++t) {
903 corr_plaq[t] -= corr_scr[t];
906 for (
int t = 0; t < Ly; ++t) {
907 corr_plaq[t] += corr_scr[t];
910 for (
int t = 0; t < Ly; ++t) {
911 corr_plaq[t] *= factor1;
919 for (
int t = 0; t < Ly; ++t) {
920 corr_1x1[t] += corr_scr[t];
924 for (
int t = 0; t < Ly; ++t) {
925 corr_1x1[t] -= corr_scr[t];
929 for (
int t = 0; t < Ly; ++t) {
930 corr_1x1[t] += corr_scr[t];
933 for (
int t = 0; t < Ly; ++t) {
934 corr_1x1[t] *= factor1;
941 for (
int t = 0; t < Ly; ++t) {
942 corr_1x2[t] += corr_scr[t];
945 for (
int t = 0; t < Ly; ++t) {
946 corr_1x2[t] -= corr_scr[t];
949 for (
int t = 0; t < Ly; ++t) {
950 corr_1x2[t] += corr_scr[t];
953 for (
int t = 0; t < Ly; ++t) {
954 corr_1x2[t] *= factor2;
961 std::ofstream log_file;
968 for (
int t = 0; t < Ly; ++t) {
969 vout.
general(
m_vl,
" Q_clover_plaq_y_FT = %d %d %d %.8f %d %.16e\n", momentum_sink[0], momentum_sink[1], momentum_sink[2], tt, t, corr_1x1[t]);
971 vout.
general(
m_vl,
" Q_clover_imp_y_FT = %d %d %d %.8f %d %.16e\n", momentum_sink[0], momentum_sink[1], momentum_sink[2], tt, t, scr);
972 scr = l_c_rect * corr_1x2[t];
973 vout.
general(
m_vl,
" Q_clover_rect_y_FT = %d %d %d %.8f %d %.16e\n", momentum_sink[0], momentum_sink[1], momentum_sink[2], tt, t, scr);
974 vout.
general(
m_vl,
" Q_plaq_y_FT = %d %d %d %.8f %d %.16e\n", momentum_sink[0], momentum_sink[1], momentum_sink[2], tt, t, corr_plaq[t]);
1001 static const double PI = 4.0 * atan(1.0);
1002 static const double PI2 = PI * PI;
1003 static const double factor1 = 8.0 / (32.0 * PI2);
1004 static const double factor2 = 16.0 / (32.0 * PI2);
1006 static const double l_c_rect = 1.0 / 8.0;
1012 std::vector<double> corr_scr(Lz);
1015 std::vector<double> corr_plaq(Lz, 0.0);
1018 for (
int z = 0; z < Lz; ++z) {
1019 corr_plaq[z] += corr_scr[z];
1022 for (
int z = 0; z < Lz; ++z) {
1023 corr_plaq[z] -= corr_scr[z];
1026 for (
int z = 0; z < Lz; ++z) {
1027 corr_plaq[z] += corr_scr[z];
1030 for (
int z = 0; z < Lz; ++z) {
1031 corr_plaq[z] *= factor1;
1036 std::vector<double> corr_1x1(Lz, 0.0);
1041 for (
int z = 0; z < Lz; ++z) {
1042 corr_1x1[z] += corr_scr[z];
1046 for (
int z = 0; z < Lz; ++z) {
1047 corr_1x1[z] -= corr_scr[z];
1051 for (
int z = 0; z < Lz; ++z) {
1052 corr_1x1[z] += corr_scr[z];
1055 for (
int z = 0; z < Lz; ++z) {
1056 corr_1x1[z] *= factor1;
1061 std::vector<double> corr_1x2(Lz, 0.0);
1065 for (
int z = 0; z < Lz; ++z) {
1066 corr_1x2[z] += corr_scr[z];
1069 for (
int z = 0; z < Lz; ++z) {
1070 corr_1x2[z] -= corr_scr[z];
1073 for (
int z = 0; z < Lz; ++z) {
1074 corr_1x2[z] += corr_scr[z];
1077 for (
int z = 0; z < Lz; ++z) {
1078 corr_1x2[z] *= factor2;
1085 std::ofstream log_file;
1092 for (
int z = 0; z < Lz; ++z) {
1093 vout.
general(
m_vl,
" Q_clover_plaq_z = %.8f %d %.16e\n", tt, z, corr_1x1[z]);
1098 scr = l_c_rect * corr_1x2[z];
1100 vout.
general(
m_vl,
" Q_plaq_z = %.8f %d %.16e\n", tt, z, corr_plaq[z]);
1123 static const double PI = 4.0 * atan(1.0);
1124 static const double PI2 = PI * PI;
1125 static const double factor1 = 8.0 / (32.0 * PI2);
1126 static const double factor2 = 16.0 / (32.0 * PI2);
1127 static const double l_c_rect = 1.0 / 8.0;
1134 vector<int> source_position(4, 0);
1135 vector<int> momentum_sink(3);
1137 for (
int ipx = 0; ipx <
m_max_mom + 1; ipx++) {
1138 for (
int ipy = 0; ipy < Np; ipy++) {
1139 for (
int ipz = 0; ipz < Np; ipz++) {
1140 momentum_sink[0] = ipx;
1144 std::vector<double> corr_plaq(Lz, 0);
1145 std::vector<double> corr_1x1(Lz, 0);
1146 std::vector<double> corr_1x2(Lz, 0);
1147 std::vector<double> corr_scr(Lz);
1151 for (
int t = 0; t < Lz; ++t) {
1152 corr_plaq[t] += corr_scr[t];
1155 for (
int t = 0; t < Lz; ++t) {
1156 corr_plaq[t] -= corr_scr[t];
1159 for (
int t = 0; t < Lz; ++t) {
1160 corr_plaq[t] += corr_scr[t];
1163 for (
int t = 0; t < Lz; ++t) {
1164 corr_plaq[t] *= factor1;
1172 for (
int t = 0; t < Lz; ++t) {
1173 corr_1x1[t] += corr_scr[t];
1177 for (
int t = 0; t < Lz; ++t) {
1178 corr_1x1[t] -= corr_scr[t];
1182 for (
int t = 0; t < Lz; ++t) {
1183 corr_1x1[t] += corr_scr[t];
1186 for (
int t = 0; t < Lz; ++t) {
1187 corr_1x1[t] *= factor1;
1194 for (
int t = 0; t < Lz; ++t) {
1195 corr_1x2[t] += corr_scr[t];
1198 for (
int t = 0; t < Lz; ++t) {
1199 corr_1x2[t] -= corr_scr[t];
1202 for (
int t = 0; t < Lz; ++t) {
1203 corr_1x2[t] += corr_scr[t];
1206 for (
int t = 0; t < Lz; ++t) {
1207 corr_1x2[t] *= factor2;
1214 std::ofstream log_file;
1221 for (
int t = 0; t < Lz; ++t) {
1222 vout.
general(
m_vl,
" Q_clover_plaq_z_FT = %d %d %d %.8f %d %.16e\n", momentum_sink[0], momentum_sink[1], momentum_sink[2], tt, t, corr_1x1[t]);
1224 vout.
general(
m_vl,
" Q_clover_imp_z_FT = %d %d %d %.8f %d %.16e\n", momentum_sink[0], momentum_sink[1], momentum_sink[2], tt, t, scr);
1225 scr = l_c_rect * corr_1x2[t];
1226 vout.
general(
m_vl,
" Q_clover_rect_z_FT = %d %d %d %.8f %d %.16e\n", momentum_sink[0], momentum_sink[1], momentum_sink[2], tt, t, scr);
1227 vout.
general(
m_vl,
" Q_plaq_z_FT = %d %d %d %.8f %d %.16e\n", momentum_sink[0], momentum_sink[1], momentum_sink[2], tt, t, corr_plaq[t]);
1278 for (
int mu = 0; mu < Ndim; ++mu) {
1279 for (
int nu = mu + 1; nu < Ndim; ++nu) {
void contract_at_y(std::vector< double > &corr_global, const Field_G &Fmunu_1, const Field_G &Fmunu_2)
Calculate corr[y]= . Intended to be used to calculate correlations function of the topological charge...
void construct_Fmunu_1x2(Field_G &Fmunu, const int mu, const int nu, const Field_G &U)
Constructs the anti-Hermitian field strength with eight 1x2 rectangular clover leaves.
std::string m_filename_output
static double epsilon_criterion()
std::vector< Field_G > m_Fmunu_1x2
void contract_at_z(std::vector< double > &corr_global, const Field_G &Fmunu_1, const Field_G &Fmunu_2)
Calculate corr[z]= . Intended to be used to calculate correlations function of the topological charge...
static const std::string class_name
void general(const char *format,...)
std::vector< Field_G > m_Fmunu_1x1
int fetch_double(const string &key, double &value) const
double measure(const Field_G &U)
main function to measure Topological Charge. The field strength is constructed inside the function...
void init(const std::string &filename)
void measure_topological_density_z(const double tt)
Measure topological charge density corr[z]= in z direction using the stored m_Fmunu and print out th...
void construct_Fmunu_1x1_traceless(Field_G &Fmunu, const int mu, const int nu, const Field_G &U)
Constructs the anti-Hermitian traceless field strength with four 1x1 plquette clover leaves...
void measure_topological_charge(const double tt)
void set_field_strength(const Field_G &U)
Construct the anti-Hermitian traceless field strength by the link U. Should be called before measuri...
std::vector< Field_G > m_Fmunu_plaq
void measure_topological_density_z_FT(const double tt)
Measure Fourier transformation of topological charge density corr[z]= using the stored m_Fmunu and p...
void measure_topological_density_y(const double tt)
Measure topological charge density corr[y]= in y direction using the stored m_Fmunu and print out th...
void contract_at_t(std::vector< double > &corr_global, const Field_G &Fmunu_1, const Field_G &Fmunu_2)
Calculate corr[t]= . Intended to be used to calculate correlations function of the topological charge...
int fetch_int(const string &key, int &value) const
void construct_Fmunu_1x1(Field_G &Fmunu, const int mu, const int nu, const Field_G &U)
Constructs the anti-Hermitian field strength with four 1x1 plquette clover leaves.
void measure_topological_density_x_FT(const double tt)
Measure Fourier transformation of topological charge density corr[x]= using the stored m_Fmunu and p...
void construct_Fmunu_plaq_traceless(Field_G &Fmunu, const int mu, const int nu, const Field_G &U)
Constructs the anti-Hermitian traceless field strength with an imaginary part of the plaquette...
int m_max_mom
maximum of momentum for Fourier transformation: p_x=[0,max_mom], p_y=[-max_mom,max_mom], p_z=[-max_mom,max_mom]
void measure_topological_density_y_FT(const double tt)
Measure Fourier transformation of topological charge density corr[y]= using the stored m_Fmunu and p...
FieldStrength m_field_strength
void crucial(const char *format,...)
Bridge::VerboseLevel m_vl
void measure_topological_density_x(const double tt)
Measure topological charge density corr[x]= in x direction using the stored m_Fmunu and print out th...
void measure_topological_density_t(const double tt)
Measure topological charge density corr[t]= in temporal direction using the stored m_Fmunu and print...
std::ostream & getStream()
virtual void set_parameters(const Parameters ¶ms)
setting parameters.
void construct_Fmunu_1x2_traceless(Field_G &Fmunu, const int mu, const int nu, const Field_G &U)
Constructs the anti-Hermitian traceless field strength with eight 1x2 rectangular clover leaves...
string get_string(const string &key) const
double contract(const Field_G &Fmunu_1, const Field_G &Fmunu_2)
Calculate and returns its value. Intended to be used for the topological charge and energy momentum ...
void contract_at_x(std::vector< double > &corr_global, const Field_G &Fmunu_1, const Field_G &Fmunu_2)
Calculate corr[x]= . Intended to be used to calculate correlations function of the topological charge...
static VerboseLevel set_verbose_level(const std::string &str)
void measure_topological_density_t_FT(const double tt)
Measure Fourier transformation of topological charge density corr[t]= using the stored m_Fmunu and p...