18 const int mu,
const int ieo)
39 const int mu,
const int ieo)
60 const int bc,
const int mu,
const int ieo)
79 const int bc,
const int mu,
const int ieo)
102 int Nvol2 = w.
nvol() / 2;
105 Field field_e(Nin, Nvol2, Nex);
106 Field field_o(Nin, Nvol2, Nex);
108 Field field_se(Nin, Nvol2, Nex);
109 Field field_so(Nin, Nvol2, Nex);
126 int Nvol2 = w.
nvol() / 2;
129 Field field_e(Nin, Nvol2, Nex);
130 Field field_o(Nin, Nvol2, Nex);
132 Field field_se(Nin, Nvol2, Nex);
133 Field field_so(Nin, Nvol2, Nex);
146 const int bc,
const int mu)
151 int Nvol2 = w.
nvol() / 2;
154 Field field_e(Nin, Nvol2, Nex);
155 Field field_o(Nin, Nvol2, Nex);
157 Field field_se(Nin, Nvol2, Nex);
158 Field field_so(Nin, Nvol2, Nex);
171 const int bc,
const int mu)
176 int Nvol2 = w.
nvol() / 2;
179 Field field_e(Nin, Nvol2, Nex);
180 Field field_o(Nin, Nvol2, Nex);
182 Field field_se(Nin, Nvol2, Nex);
183 Field field_so(Nin, Nvol2, Nex);
209 int Nvol2 = (1 + Nvol /
Nx2) / 2;
211 Field wt(Nin, Nvol2, Nex);
212 Field vt(Nin, Nvol2, Nex);
215 for (
int t = 0; t <
Nt; t++) {
216 for (
int z = 0; z <
Nz; z++) {
217 for (
int y = 0; y <
Ny; y++) {
218 if (
idx.
leo(y, z, t) == ieo) {
220 for (
int x = 0; x <
Nx2; x++) {
222 for (
int ex = 0; ex < Nex; ex++) {
223 for (
int in = 0; in < Nin; in++) {
224 v.
set(in, ix, ex, w.
cmp(in, ix, ex));
230 for (
int x = 0; x <
Nx2 - 1; x++) {
233 for (
int ex = 0; ex < Nex; ex++) {
234 for (
int in = 0; in < Nin; in++) {
235 v.
set(in, ix, ex, w.
cmp(in, px, ex));
241 for (
int in = 0; in < Nin; in++) {
242 for (
int ex = 0; ex < Nex; ex++) {
243 wt.
set(in, s2, ex, bc2 * w.
cmp(in, px, ex));
257 int size = Nin * Nvol2 * Nex;
261 for (
int t = 0; t <
Nt; t++) {
262 for (
int z = 0; z <
Nz; z++) {
263 for (
int y = 0; y <
Ny; y++) {
265 if (
idx.
leo(y, z, t) != ieo) {
267 for (
int in = 0; in < Nin; in++) {
268 for (
int ex = 0; ex < Nex; ex++) {
269 v.
set(in, ix, ex, vt.
cmp(in, s2, ex));
295 int Nvol2 = (1 + Nvol /
Nx2) / 2;
297 Field wt(Nin, Nvol2, Nex);
298 Field vt(Nin, Nvol2, Nex);
301 for (
int t = 0; t <
Nt; t++) {
302 for (
int z = 0; z <
Nz; z++) {
303 for (
int y = 0; y <
Ny; y++) {
304 if (
idx.
leo(y, z, t) == (1 - ieo)) {
306 for (
int x = 0; x <
Nx2; x++) {
308 for (
int ex = 0; ex < Nex; ex++) {
309 for (
int in = 0; in < Nin; in++) {
310 v.
set(in, ix, ex, w.
cmp(in, ix, ex));
316 for (
int x = 1; x <
Nx2; x++) {
319 for (
int ex = 0; ex < Nex; ex++) {
320 for (
int in = 0; in < Nin; in++) {
321 v.
set(in, ix, ex, w.
cmp(in, mx, ex));
326 int mx =
idx.
siteh(Nx2 - 1, y, z, t);
327 for (
int in = 0; in < Nin; in++) {
328 for (
int ex = 0; ex < Nex; ex++) {
329 wt.
set(in, s2, ex, w.
cmp(in, mx, ex));
338 int size = Nin * Nvol2 * Nex;
342 for (
int t = 0; t <
Nt; t++) {
343 for (
int z = 0; z <
Nz; z++) {
344 for (
int y = 0; y <
Ny; y++) {
346 if (
idx.
leo(y, z, t) != (1 - ieo)) {
348 for (
int in = 0; in < Nin; in++) {
349 for (
int ex = 0; ex < Nex; ex++) {
350 v.
set(in, ix, ex, bc2 * vt.
cmp(in, s2, ex));
380 for (
int t = 0; t <
Nt; t++) {
381 for (
int z = 0; z <
Nz; z++) {
382 for (
int x = 0; x <
Nx2; x++) {
384 for (
int y = 0; y <
Ny - 1; y++) {
387 for (
int ex = 0; ex < Nex; ex++) {
388 for (
int in = 0; in < Nin; in++) {
389 v.
set(in, ix, ex, w.
cmp(in, px, ex));
395 int s2 = x + Nx2 * (z + Nz * t);
397 for (
int in = 0; in < Nin; in++) {
398 for (
int ex = 0; ex < Nex; ex++) {
399 wt.
set(in, s2, ex, bc2 * w.
cmp(in, px, ex));
406 int size = Nin * (Nvol /
Ny) * Nex;
409 for (
int t = 0; t <
Nt; t++) {
410 for (
int z = 0; z <
Nz; z++) {
411 for (
int x = 0; x <
Nx2; x++) {
413 int s2 = x + Nx2 * (z + Nz * t);
415 for (
int in = 0; in < Nin; in++) {
416 for (
int ex = 0; ex < Nex; ex++) {
417 v.
set(in, ix, ex, vt.
cmp(in, s2, ex));
445 for (
int t = 0; t <
Nt; t++) {
446 for (
int z = 0; z <
Nz; z++) {
447 for (
int x = 0; x <
Nx2; x++) {
449 for (
int y = 1; y <
Ny; y++) {
452 for (
int ex = 0; ex < Nex; ex++) {
453 for (
int in = 0; in < Nin; in++) {
454 v.
set(in, ix, ex, w.
cmp(in, px, ex));
459 int s2 = x + Nx2 * (z + Nz * t);
460 int px =
idx.
siteh(x, Ny - 1, z, t);
461 for (
int in = 0; in < Nin; in++) {
462 for (
int ex = 0; ex < Nex; ex++) {
463 wt.
set(in, s2, ex, w.
cmp(in, px, ex));
470 int size = Nin * (Nvol /
Ny) * Nex;
473 for (
int t = 0; t <
Nt; t++) {
474 for (
int z = 0; z <
Nz; z++) {
475 for (
int x = 0; x <
Nx2; x++) {
476 int s2 = x + Nx2 * (z + Nz * t);
480 for (
int in = 0; in < Nin; in++) {
481 for (
int ex = 0; ex < Nex; ex++) {
482 v.
set(in, ix, ex, bc2 * vt.
cmp(in, s2, ex));
510 for (
int t = 0; t <
Nt; t++) {
511 for (
int y = 0; y <
Ny; y++) {
512 for (
int x = 0; x <
Nx2; x++) {
514 for (
int z = 0; z <
Nz - 1; z++) {
517 for (
int ex = 0; ex < Nex; ex++) {
518 for (
int in = 0; in < Nin; in++) {
519 v.
set(in, ix, ex, w.
cmp(in, px, ex));
525 int s2 = x + Nx2 * (y + Ny * t);
527 for (
int in = 0; in < Nin; in++) {
528 for (
int ex = 0; ex < Nex; ex++) {
529 wt.
set(in, s2, ex, bc2 * w.
cmp(in, px, ex));
536 int size = Nin * (Nvol /
Nz) * Nex;
539 for (
int t = 0; t <
Nt; t++) {
540 for (
int y = 0; y <
Ny; y++) {
541 for (
int x = 0; x <
Nx2; x++) {
542 int s2 = x + Nx2 * (y + Ny * t);
546 for (
int in = 0; in < Nin; in++) {
547 for (
int ex = 0; ex < Nex; ex++) {
548 v.
set(in, ix, ex, vt.
cmp(in, s2, ex));
576 for (
int t = 0; t <
Nt; t++) {
577 for (
int y = 0; y <
Ny; y++) {
578 for (
int x = 0; x <
Nx2; x++) {
579 int s2 = x + Nx2 * (y + Ny * t);
582 for (
int z = 1; z <
Nz; z++) {
585 for (
int ex = 0; ex < Nex; ex++) {
586 for (
int in = 0; in < Nin; in++) {
587 v.
set(in, ix, ex, w.
cmp(in, px, ex));
592 int px =
idx.
siteh(x, y, Nz - 1, t);
593 for (
int in = 0; in < Nin; in++) {
594 for (
int ex = 0; ex < Nex; ex++) {
595 wt.
set(in, s2, ex, w.
cmp(in, px, ex));
602 int size = Nin * (Nvol /
Nz) * Nex;
605 for (
int t = 0; t <
Nt; t++) {
606 for (
int y = 0; y <
Ny; y++) {
607 for (
int x = 0; x <
Nx2; x++) {
608 int s2 = x + Nx2 * (y + Ny * t);
612 for (
int in = 0; in < Nin; in++) {
613 for (
int ex = 0; ex < Nex; ex++) {
614 v.
set(in, ix, ex, bc2 * vt.
cmp(in, s2, ex));
642 for (
int z = 0; z <
Nz; z++) {
643 for (
int y = 0; y <
Ny; y++) {
644 for (
int x = 0; x <
Nx2; x++) {
645 int s2 = x + Nx2 * (y + Ny * z);
648 for (
int t = 0; t <
Nt - 1; t++) {
651 for (
int ex = 0; ex < Nex; ex++) {
652 for (
int in = 0; in < Nin; in++) {
653 v.
set(in, ix, ex, w.
cmp(in, px, ex));
660 for (
int ex = 0; ex < Nex; ex++) {
661 for (
int in = 0; in < Nin; in++) {
662 wt.
set(in, s2, ex, bc2 * w.
cmp(in, px, ex));
669 int size = Nin * (Nvol /
Nt) * Nex;
672 for (
int z = 0; z <
Nz; z++) {
673 for (
int y = 0; y <
Ny; y++) {
674 for (
int x = 0; x <
Nx2; x++) {
675 int s2 = x + Nx2 * (y + Ny * z);
679 for (
int ex = 0; ex < Nex; ex++) {
680 for (
int in = 0; in < Nin; in++) {
681 v.
set(in, ix, ex, vt.
cmp(in, s2, ex));
709 for (
int z = 0; z <
Nz; z++) {
710 for (
int y = 0; y <
Ny; y++) {
711 for (
int x = 0; x <
Nx2; x++) {
712 int s2 = x + Nx2 * (y + Ny * z);
715 for (
int t = 1; t <
Nt; t++) {
718 for (
int ex = 0; ex < Nex; ex++) {
719 for (
int in = 0; in < Nin; in++) {
720 v.
set(in, ix, ex, w.
cmp(in, px, ex));
726 int px =
idx.
siteh(x, y, z, Nt - 1);
727 for (
int ex = 0; ex < Nex; ex++) {
728 for (
int in = 0; in < Nin; in++) {
729 wt.
set(in, s2, ex, w.
cmp(in, px, ex));
736 int size = Nin * (Nvol /
Nt) * Nex;
739 for (
int z = 0; z <
Nz; z++) {
740 for (
int y = 0; y <
Ny; y++) {
741 for (
int x = 0; x <
Nx2; x++) {
742 int s2 = x + Nx2 * (y + Ny * z);
747 for (
int ex = 0; ex < Nex; ex++) {
748 for (
int in = 0; in < Nin; in++) {
749 v.
set(in, ix, ex, bc2 * vt.
cmp(in, s2, ex));
void backward(Field &, const Field &, const int mu)
void set(const int jin, const int site, const int jex, double v)
int siteh(const int x2, const int y, const int z, const int t) const
void general(const char *format,...)
Bridge::VerboseLevel m_vl
Container of Field-type object.
void up_th(Field &, const Field &, const int, const int)
double cmp(const int jin, const int site, const int jex) const
void dn_yh(Field &, const Field &, const int, const int)
static int ipe(const int dir)
logical coordinate of current proc.
int leo(const int y, const int z, const int t) const
void mergeField(Field &eo, const Field &e, const Field &o)
int siteh_xup(const int x2, const int y, const int z, const int t, const int ieo) const
int siteh_xdn(const int x2, const int y, const int z, const int t, const int ieo) const
void up_zh(Field &, const Field &, const int, const int)
void dn_th(Field &, const Field &, const int, const int)
void up_xh(Field &, const Field &, const int, const int)
void crucial(const char *format,...)
void dn_zh(Field &, const Field &, const int, const int)
void up_yh(Field &, const Field &, const int, const int)
void dn_xh(Field &, const Field &, const int, const int)
void splitField(Field &e, Field &o, const Field &eo)
void forward(Field &, const Field &, const int mu)
void backward_h(Field &, const Field &, const int mu, const int ieo)
int exchange(int count, Field *recv_buf, Field *send_buf, int idir, int ipm, int tag)
void forward_h(Field &, const Field &, const int mu, const int ieo)