20 const int mu,
const int ieo)
41 const int mu,
const int ieo)
62 const int bc,
const int mu,
const int ieo)
81 const int bc,
const int mu,
const int ieo)
104 int Nvol2 = w.
nvol() / 2;
107 Field field_e(Nin, Nvol2, Nex);
108 Field field_o(Nin, Nvol2, Nex);
110 Field field_se(Nin, Nvol2, Nex);
111 Field field_so(Nin, Nvol2, Nex);
128 int Nvol2 = w.
nvol() / 2;
131 Field field_e(Nin, Nvol2, Nex);
132 Field field_o(Nin, Nvol2, Nex);
134 Field field_se(Nin, Nvol2, Nex);
135 Field field_so(Nin, Nvol2, Nex);
148 const int bc,
const int mu)
153 int Nvol2 = w.
nvol() / 2;
156 Field field_e(Nin, Nvol2, Nex);
157 Field field_o(Nin, Nvol2, Nex);
159 Field field_se(Nin, Nvol2, Nex);
160 Field field_so(Nin, Nvol2, Nex);
173 const int bc,
const int mu)
178 int Nvol2 = w.
nvol() / 2;
181 Field field_e(Nin, Nvol2, Nex);
182 Field field_o(Nin, Nvol2, Nex);
184 Field field_se(Nin, Nvol2, Nex);
185 Field field_so(Nin, Nvol2, Nex);
211 int Nvol2 = (1 + Nvol /
Nx2) / 2;
213 Field wt(Nin, Nvol2, Nex);
214 Field vt(Nin, Nvol2, Nex);
217 for (
int t = 0; t <
Nt; t++) {
218 for (
int z = 0; z <
Nz; z++) {
219 for (
int y = 0; y <
Ny; y++) {
220 if (
idx.
leo(y, z, t) == ieo) {
222 for (
int x = 0; x <
Nx2; x++) {
224 for (
int ex = 0; ex < Nex; ex++) {
225 for (
int in = 0; in < Nin; in++) {
226 v.
set(in, ix, ex, w.
cmp(in, ix, ex));
232 for (
int x = 0; x <
Nx2 - 1; x++) {
235 for (
int ex = 0; ex < Nex; ex++) {
236 for (
int in = 0; in < Nin; in++) {
237 v.
set(in, ix, ex, w.
cmp(in, px, ex));
243 for (
int in = 0; in < Nin; in++) {
244 for (
int ex = 0; ex < Nex; ex++) {
245 wt.
set(in, s2, ex, bc2 * w.
cmp(in, px, ex));
259 int size = Nin * Nvol2 * Nex;
263 for (
int t = 0; t <
Nt; t++) {
264 for (
int z = 0; z <
Nz; z++) {
265 for (
int y = 0; y <
Ny; y++) {
267 if (
idx.
leo(y, z, t) != ieo) {
269 for (
int in = 0; in < Nin; in++) {
270 for (
int ex = 0; ex < Nex; ex++) {
271 v.
set(in, ix, ex, vt.
cmp(in, s2, ex));
297 int Nvol2 = (1 + Nvol /
Nx2) / 2;
299 Field wt(Nin, Nvol2, Nex);
300 Field vt(Nin, Nvol2, Nex);
303 for (
int t = 0; t <
Nt; t++) {
304 for (
int z = 0; z <
Nz; z++) {
305 for (
int y = 0; y <
Ny; y++) {
306 if (
idx.
leo(y, z, t) == (1 - ieo)) {
308 for (
int x = 0; x <
Nx2; x++) {
310 for (
int ex = 0; ex < Nex; ex++) {
311 for (
int in = 0; in < Nin; in++) {
312 v.
set(in, ix, ex, w.
cmp(in, ix, ex));
318 for (
int x = 1; x <
Nx2; x++) {
321 for (
int ex = 0; ex < Nex; ex++) {
322 for (
int in = 0; in < Nin; in++) {
323 v.
set(in, ix, ex, w.
cmp(in, mx, ex));
328 int mx =
idx.
siteh(Nx2 - 1, y, z, t);
329 for (
int in = 0; in < Nin; in++) {
330 for (
int ex = 0; ex < Nex; ex++) {
331 wt.
set(in, s2, ex, w.
cmp(in, mx, ex));
340 int size = Nin * Nvol2 * Nex;
344 for (
int t = 0; t <
Nt; t++) {
345 for (
int z = 0; z <
Nz; z++) {
346 for (
int y = 0; y <
Ny; y++) {
348 if (
idx.
leo(y, z, t) != (1 - ieo)) {
350 for (
int in = 0; in < Nin; in++) {
351 for (
int ex = 0; ex < Nex; ex++) {
352 v.
set(in, ix, ex, bc2 * vt.
cmp(in, s2, ex));
382 for (
int t = 0; t <
Nt; t++) {
383 for (
int z = 0; z <
Nz; z++) {
384 for (
int x = 0; x <
Nx2; x++) {
386 for (
int y = 0; y <
Ny - 1; y++) {
389 for (
int ex = 0; ex < Nex; ex++) {
390 for (
int in = 0; in < Nin; in++) {
391 v.
set(in, ix, ex, w.
cmp(in, px, ex));
397 int s2 = x + Nx2 * (z + Nz * t);
399 for (
int in = 0; in < Nin; in++) {
400 for (
int ex = 0; ex < Nex; ex++) {
401 wt.
set(in, s2, ex, bc2 * w.
cmp(in, px, ex));
408 int size = Nin * (Nvol /
Ny) * Nex;
411 for (
int t = 0; t <
Nt; t++) {
412 for (
int z = 0; z <
Nz; z++) {
413 for (
int x = 0; x <
Nx2; x++) {
415 int s2 = x + Nx2 * (z + Nz * t);
417 for (
int in = 0; in < Nin; in++) {
418 for (
int ex = 0; ex < Nex; ex++) {
419 v.
set(in, ix, ex, vt.
cmp(in, s2, ex));
447 for (
int t = 0; t <
Nt; t++) {
448 for (
int z = 0; z <
Nz; z++) {
449 for (
int x = 0; x <
Nx2; x++) {
451 for (
int y = 1; y <
Ny; y++) {
454 for (
int ex = 0; ex < Nex; ex++) {
455 for (
int in = 0; in < Nin; in++) {
456 v.
set(in, ix, ex, w.
cmp(in, px, ex));
461 int s2 = x + Nx2 * (z + Nz * t);
462 int px =
idx.
siteh(x, Ny - 1, z, t);
463 for (
int in = 0; in < Nin; in++) {
464 for (
int ex = 0; ex < Nex; ex++) {
465 wt.
set(in, s2, ex, w.
cmp(in, px, ex));
472 int size = Nin * (Nvol /
Ny) * Nex;
475 for (
int t = 0; t <
Nt; t++) {
476 for (
int z = 0; z <
Nz; z++) {
477 for (
int x = 0; x <
Nx2; x++) {
478 int s2 = x + Nx2 * (z + Nz * t);
482 for (
int in = 0; in < Nin; in++) {
483 for (
int ex = 0; ex < Nex; ex++) {
484 v.
set(in, ix, ex, bc2 * vt.
cmp(in, s2, ex));
512 for (
int t = 0; t <
Nt; t++) {
513 for (
int y = 0; y <
Ny; y++) {
514 for (
int x = 0; x <
Nx2; x++) {
516 for (
int z = 0; z <
Nz - 1; z++) {
519 for (
int ex = 0; ex < Nex; ex++) {
520 for (
int in = 0; in < Nin; in++) {
521 v.
set(in, ix, ex, w.
cmp(in, px, ex));
527 int s2 = x + Nx2 * (y + Ny * t);
529 for (
int in = 0; in < Nin; in++) {
530 for (
int ex = 0; ex < Nex; ex++) {
531 wt.
set(in, s2, ex, bc2 * w.
cmp(in, px, ex));
538 int size = Nin * (Nvol /
Nz) * Nex;
541 for (
int t = 0; t <
Nt; t++) {
542 for (
int y = 0; y <
Ny; y++) {
543 for (
int x = 0; x <
Nx2; x++) {
544 int s2 = x + Nx2 * (y + Ny * t);
548 for (
int in = 0; in < Nin; in++) {
549 for (
int ex = 0; ex < Nex; ex++) {
550 v.
set(in, ix, ex, vt.
cmp(in, s2, ex));
578 for (
int t = 0; t <
Nt; t++) {
579 for (
int y = 0; y <
Ny; y++) {
580 for (
int x = 0; x <
Nx2; x++) {
581 int s2 = x + Nx2 * (y + Ny * t);
584 for (
int z = 1; z <
Nz; z++) {
587 for (
int ex = 0; ex < Nex; ex++) {
588 for (
int in = 0; in < Nin; in++) {
589 v.
set(in, ix, ex, w.
cmp(in, px, ex));
594 int px =
idx.
siteh(x, y, Nz - 1, t);
595 for (
int in = 0; in < Nin; in++) {
596 for (
int ex = 0; ex < Nex; ex++) {
597 wt.
set(in, s2, ex, w.
cmp(in, px, ex));
604 int size = Nin * (Nvol /
Nz) * Nex;
607 for (
int t = 0; t <
Nt; t++) {
608 for (
int y = 0; y <
Ny; y++) {
609 for (
int x = 0; x <
Nx2; x++) {
610 int s2 = x + Nx2 * (y + Ny * t);
614 for (
int in = 0; in < Nin; in++) {
615 for (
int ex = 0; ex < Nex; ex++) {
616 v.
set(in, ix, ex, bc2 * vt.
cmp(in, s2, ex));
644 for (
int z = 0; z <
Nz; z++) {
645 for (
int y = 0; y <
Ny; y++) {
646 for (
int x = 0; x <
Nx2; x++) {
647 int s2 = x + Nx2 * (y + Ny * z);
650 for (
int t = 0; t <
Nt - 1; t++) {
653 for (
int ex = 0; ex < Nex; ex++) {
654 for (
int in = 0; in < Nin; in++) {
655 v.
set(in, ix, ex, w.
cmp(in, px, ex));
662 for (
int ex = 0; ex < Nex; ex++) {
663 for (
int in = 0; in < Nin; in++) {
664 wt.
set(in, s2, ex, bc2 * w.
cmp(in, px, ex));
671 int size = Nin * (Nvol /
Nt) * Nex;
674 for (
int z = 0; z <
Nz; z++) {
675 for (
int y = 0; y <
Ny; y++) {
676 for (
int x = 0; x <
Nx2; x++) {
677 int s2 = x + Nx2 * (y + Ny * z);
681 for (
int ex = 0; ex < Nex; ex++) {
682 for (
int in = 0; in < Nin; in++) {
683 v.
set(in, ix, ex, vt.
cmp(in, s2, ex));
711 for (
int z = 0; z <
Nz; z++) {
712 for (
int y = 0; y <
Ny; y++) {
713 for (
int x = 0; x <
Nx2; x++) {
714 int s2 = x + Nx2 * (y + Ny * z);
717 for (
int t = 1; t <
Nt; t++) {
720 for (
int ex = 0; ex < Nex; ex++) {
721 for (
int in = 0; in < Nin; in++) {
722 v.
set(in, ix, ex, w.
cmp(in, px, ex));
728 int px =
idx.
siteh(x, y, z, Nt - 1);
729 for (
int ex = 0; ex < Nex; ex++) {
730 for (
int in = 0; in < Nin; in++) {
731 wt.
set(in, s2, ex, w.
cmp(in, px, ex));
738 int size = Nin * (Nvol /
Nt) * Nex;
741 for (
int z = 0; z <
Nz; z++) {
742 for (
int y = 0; y <
Ny; y++) {
743 for (
int x = 0; x <
Nx2; x++) {
744 int s2 = x + Nx2 * (y + Ny * z);
749 for (
int ex = 0; ex < Nex; ex++) {
750 for (
int in = 0; in < Nin; in++) {
751 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
Bridge::VerboseLevel m_vl
static const std::string class_name
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)