16 #ifdef USE_PARAMETERS_FACTORY
33 #ifdef USE_PARAMETERS_FACTORY
48 const string str_vlevel = params.
get_string(
"verbose_level");
56 err += params.
fetch_int(
"spatial_correlator_size", Nspc_size);
57 err += params.
fetch_int(
"number_of_correlator_type", Ntype);
107 m_Nmax[2] = Nspc_size / 2;
109 m_Nmax[4] = Nspc_size / 2;
110 m_Nmax[5] = Nspc_size / 2;
122 int Ndim_spc = Ndim - 1;
133 assert(m_Ntype_max >= 6);
171 int Nvol_spc = Nx * Ny * Nz;
180 for (
int site = 0; site < Nvol_spc; ++site) {
181 P.
mat(utmp, site, 0);
186 re_tr /= (double(Nc));
187 im_tr /= (double(Nc));
192 re_ploop /= double(Lvol_spc * Npet);
193 im_ploop /= double(Lvol_spc * Npet);
198 dcomplex ploop = cmplx(re_ploop, im_ploop);
218 assert(Nvol == Nx * Ny * Nz * Nt);
220 int Nvol_spc = P.
nvol();
221 assert(Nvol_spc == Nx * Ny * Nz);
227 Mat_SU_N utmp1(Nc), utmp2(Nc), utmp3(Nc);
233 for (
int z = 0; z < Nz; ++z) {
234 for (
int y = 0; y < Ny; ++y) {
235 for (
int x = 0; x < Nx; ++x) {
236 int site = index.
site(x, y, z, t);
237 int site2 = index_spc.
site(x, y, z, 0);
238 Ut.
mat(utmp1, site, 0);
244 for (
int t = 1; t < Nt; ++t) {
245 for (
int z = 0; z < Nz; ++z) {
246 for (
int y = 0; y < Ny; ++y) {
247 for (
int x = 0; x < Nx; ++x) {
248 int site = index.
site(x, y, z, t);
249 int site2 = index_spc.
site(x, y, z, 0);
250 Ut.
mat(utmp1, site, 0);
251 P.
mat(utmp2, site2, 0);
263 Field_G Pcp1(Nvol_spc, 1), Pcp2(Nvol_spc, 1);
264 int size_cp = P.
nin() * Nvol_spc;
266 for (
int ipet = 1; ipet < Npet; ++ipet) {
268 Pcp1.setpart_ex(0, P, 0);
270 Pcp1.setpart_ex(0, Pcp2, 0);
virtual void set_parameters(const Parameters ¶ms)
setting parameters: only for Polyakov loop correlators.
void detailed(const char *format,...)
static int npe(const int dir)
logical grid extent
void Register_string(const string &, const string &)
int site(const int &x, const int &y, const int &z, const int &t) const
void general(const char *format,...)
void Register_int(const string &, const int)
double * ptr(const int jin, const int site, const int jex)
Parameters_PolyakovLoop()
int m_Nx_ext
size of extended gauge config.
Bridge::VerboseLevel m_vl
void mult_Field_Gnn(Field_G &w, const int ex, const Field_G &u1, const int ex1, const Field_G &u2, const int ex2)
double ImTr(const Mat_SU_N &m)
static int exchange(int count, double *recv_buf, double *send_buf, int idir, int ipm, int tag)
receive array of double from upstream specified by idir and ipm, and send array to downstream...
int m_Nvol_ext
volume of extended gauge config.
void crucial(const char *format,...)
int m_Ntype_max
internal data members
void init()
initial setup independent of parameters.
static bool Register(const std::string &realm, const creator_callback &cb)
static const std::string class_name
int m_Nspc_size
parameters set by user
std::valarray< int > m_Nmax
int non_negative(const int v)
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...
dcomplex measure_ploop(Field_G &U)
Polyakov loop measurement.
int m_Nt_ext
size of extended gauge config.
int m_Ntype
number of measured loop-type
void setpart_ex(int ex, const Field &w, int exw)
void calc_ploop(Field_G &P, Field_G &U)
Polyakov loop measurement.
string get_string(const string &key) const
void set_mat(const int site, const int mn, const Mat_SU_N &U)
std::valarray< unitvec > m_Nunit
int m_Ny_ext
size of extended gauge config.
Mat_SU_N mat(const int site, const int mn=0) const
int fetch_int(const string &key, int &val) const
int m_Nz_ext
size of extended gauge config.
void mult_nn(const Mat_SU_N &u1, const Mat_SU_N &u2)
static VerboseLevel set_verbose_level(const std::string &str)
double ReTr(const Mat_SU_N &m)