16 #ifdef USE_PARAMETERS_FACTORY
46 #ifdef USE_PARAMETERS_FACTORY
59 const string str_vlevel = params.
get_string(
"verbose_level");
64 double beta, c_plaq, c_rect;
65 double ct0, ct1, ct2, ctr0, ctr1, ctr2;
66 std::valarray<double> phi, phipr;
85 vout.
crucial(
m_vl,
"Action_G_Rectangle_SF: fetch error, input parameter not found.\n");
90 double gg = 6.0 / beta;
92 double ct = ct0 + ct1 * gg + ct2 * gg * gg;
93 double ctr = ctr0 + ctr1 * gg + ctr2 * gg * gg;
115 double *phi,
double *phipr,
double ct,
double ctr)
148 double c0r, c0i, c1r, c1i, c2r, c2i;
149 c0r = cos(phi[0] / Lx);
150 c0i = sin(phi[0] / Lx);
151 c1r = cos(phi[1] / Lx);
152 c1i = sin(phi[1] / Lx);
153 c2r = cos(phi[2] / Lx);
154 c2i = sin(phi[2] / Lx);
156 wk.
set(0, 0, c0r, c0i);
157 wk.
set(1, 1, c1r, c1i);
158 wk.
set(2, 2, c2r, c2i);
160 c0r = cos(phipr[0] / Lx);
161 c0i = sin(phipr[0] / Lx);
162 c1r = cos(phipr[1] / Lx);
163 c1i = sin(phipr[1] / Lx);
164 c2r = cos(phipr[2] / Lx);
165 c2i = sin(phipr[2] / Lx);
174 int NinG = 2 *
Nc *
Nc;
186 double H_U =
calcH();
247 int Ndim2 = Ndim * (Ndim - 1) / 2;
248 int size_U = Lvol * Ndim2;
266 for (
int mu = 0; mu < Ndim; ++mu) {
267 for (
int nu = mu + 1; nu < Ndim; ++nu) {
280 for (
int site = 0; site < Nvol; ++site) {
309 for (
int site = 0; site < Nvol; ++site) {
324 for (
int site = 0; site < Nvol; ++site) {
420 assert(
m_U->
nex() == Ndim);
443 for (
int mu = 0; mu < Ndim; ++mu) {
445 for (
int nu = 0; nu < Ndim; ++nu) {
446 if (nu == mu)
continue;
591 double Fave, Fmax, Fdev;
598 vout.
general(
m_vl,
" Action_G_Rectangle_SF returns previous force.\n");