20 const int mu,
const int ieo)
22 const int boundary_condition = 1;
25 up_xh(v, w, boundary_condition, ieo);
27 up_yh(v, w, boundary_condition, ieo);
29 up_zh(v, w, boundary_condition, ieo);
31 up_th(v, w, boundary_condition, ieo);
41 const int mu,
const int ieo)
43 const int boundary_condition = 1;
46 dn_xh(v, w, boundary_condition, ieo);
48 dn_yh(v, w, boundary_condition, ieo);
50 dn_zh(v, w, boundary_condition, ieo);
52 dn_th(v, w, boundary_condition, ieo);
62 const int boundary_condition,
const int mu,
const int ieo)
65 up_xh(v, w, boundary_condition, ieo);
67 up_yh(v, w, boundary_condition, ieo);
69 up_zh(v, w, boundary_condition, ieo);
71 up_th(v, w, boundary_condition, ieo);
81 const int boundary_condition,
const int mu,
const int ieo)
84 dn_xh(v, w, boundary_condition, ieo);
86 dn_yh(v, w, boundary_condition, ieo);
88 dn_zh(v, w, boundary_condition, ieo);
90 dn_th(v, w, boundary_condition, ieo);
101 const int Nin = w.
nin();
102 const int Nvol2 = w.
nvol() / 2;
103 const int Nex = w.
nex();
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);
123 const int Nin = w.
nin();
124 const int Nvol2 = w.
nvol() / 2;
125 const int Nex = w.
nex();
127 Field field_e(Nin, Nvol2, Nex);
128 Field field_o(Nin, Nvol2, Nex);
130 Field field_se(Nin, Nvol2, Nex);
131 Field field_so(Nin, Nvol2, Nex);
144 const int boundary_condition,
const int mu)
146 const int Nin = w.
nin();
147 const int Nvol2 = w.
nvol() / 2;
148 const int Nex = w.
nex();
150 Field field_e(Nin, Nvol2, Nex);
151 Field field_o(Nin, Nvol2, Nex);
153 Field field_se(Nin, Nvol2, Nex);
154 Field field_so(Nin, Nvol2, Nex);
158 backward_h(field_se, field_o, boundary_condition, mu, 0);
159 backward_h(field_so, field_e, boundary_condition, mu, 1);
167 const int boundary_condition,
const int mu)
169 const int Nin = w.
nin();
170 const int Nvol2 = w.
nvol() / 2;
171 const int Nex = w.
nex();
173 Field field_e(Nin, Nvol2, Nex);
174 Field field_o(Nin, Nvol2, Nex);
176 Field field_se(Nin, Nvol2, Nex);
177 Field field_so(Nin, Nvol2, Nex);
181 forward_h(field_se, field_o, boundary_condition, mu, 0);
182 forward_h(field_so, field_e, boundary_condition, mu, 1);
195 bc2 = boundary_condition;
200 const int Nin = w.
nin();
201 const int Nex = w.
nex();
202 const int Nvol = w.
nvol();
203 const int Nvol2 = (1 + Nvol /
m_Nx2) / 2;
205 Field wt(Nin, Nvol2, Nex);
206 Field vt(Nin, Nvol2, Nex);
209 for (
int t = 0; t <
m_Nt; t++) {
210 for (
int z = 0; z <
m_Nz; z++) {
211 for (
int y = 0; y <
m_Ny; y++) {
214 for (
int x = 0; x <
m_Nx2; x++) {
216 for (
int ex = 0; ex < Nex; ex++) {
217 for (
int in = 0; in < Nin; in++) {
218 v.
set(in, ix, ex, w.
cmp(in, ix, ex));
224 for (
int x = 0; x <
m_Nx2 - 1; x++) {
227 for (
int ex = 0; ex < Nex; ex++) {
228 for (
int in = 0; in < Nin; in++) {
229 v.
set(in, ix, ex, w.
cmp(in, px, ex));
235 for (
int in = 0; in < Nin; in++) {
236 for (
int ex = 0; ex < Nex; ex++) {
237 wt.
set(in, s2, ex, bc2 * w.
cmp(in, px, ex));
252 const int size = Nin * Nvol2 * Nex;
256 for (
int t = 0; t <
m_Nt; t++) {
257 for (
int z = 0; z <
m_Nz; z++) {
258 for (
int y = 0; y <
m_Ny; y++) {
263 for (
int in = 0; in < Nin; in++) {
264 for (
int ex = 0; ex < Nex; ex++) {
265 v.
set(in, ix, ex, vt.
cmp(in, s2, ex));
284 bc2 = boundary_condition;
289 const int Nin = w.
nin();
290 const int Nex = w.
nex();
291 const int Nvol = w.
nvol();
292 const int Nvol2 = (1 + Nvol /
m_Nx2) / 2;
294 Field wt(Nin, Nvol2, Nex);
295 Field vt(Nin, Nvol2, Nex);
298 for (
int t = 0; t <
m_Nt; t++) {
299 for (
int z = 0; z <
m_Nz; z++) {
300 for (
int y = 0; y <
m_Ny; y++) {
303 for (
int x = 0; x <
m_Nx2; x++) {
305 for (
int ex = 0; ex < Nex; ex++) {
306 for (
int in = 0; in < Nin; in++) {
307 v.
set(in, ix, ex, w.
cmp(in, ix, ex));
313 for (
int x = 1; x <
m_Nx2; x++) {
316 for (
int ex = 0; ex < Nex; ex++) {
317 for (
int in = 0; in < Nin; in++) {
318 v.
set(in, ix, ex, w.
cmp(in, mx, ex));
324 for (
int in = 0; in < Nin; in++) {
325 for (
int ex = 0; ex < Nex; ex++) {
326 wt.
set(in, s2, ex, w.
cmp(in, mx, ex));
336 const int size = Nin * Nvol2 * Nex;
340 for (
int t = 0; t <
m_Nt; t++) {
341 for (
int z = 0; z <
m_Nz; z++) {
342 for (
int y = 0; y <
m_Ny; y++) {
347 for (
int in = 0; in < Nin; in++) {
348 for (
int ex = 0; ex < Nex; ex++) {
349 v.
set(in, ix, ex, bc2 * vt.
cmp(in, s2, ex));
368 bc2 = boundary_condition;
373 const int Nin = w.
nin();
374 const int Nex = w.
nex();
375 const int Nvol = w.
nvol();
380 for (
int t = 0; t <
m_Nt; t++) {
381 for (
int z = 0; z <
m_Nz; z++) {
382 for (
int x = 0; x <
m_Nx2; x++) {
384 for (
int y = 0; y <
m_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 + m_Nx2 * (z + m_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 const int size = Nin * (Nvol /
m_Ny) * Nex;
409 for (
int t = 0; t <
m_Nt; t++) {
410 for (
int z = 0; z <
m_Nz; z++) {
411 for (
int x = 0; x <
m_Nx2; x++) {
413 int s2 = x + m_Nx2 * (z + m_Nz * t);
416 for (
int in = 0; in < Nin; in++) {
417 for (
int ex = 0; ex < Nex; ex++) {
418 v.
set(in, ix, ex, vt.
cmp(in, s2, ex));
434 bc2 = boundary_condition;
439 const int Nin = w.
nin();
440 const int Nex = w.
nex();
441 const int Nvol = w.
nvol();
446 for (
int t = 0; t <
m_Nt; t++) {
447 for (
int z = 0; z <
m_Nz; z++) {
448 for (
int x = 0; x <
m_Nx2; x++) {
450 for (
int y = 1; y <
m_Ny; y++) {
453 for (
int ex = 0; ex < Nex; ex++) {
454 for (
int in = 0; in < Nin; in++) {
455 v.
set(in, ix, ex, w.
cmp(in, px, ex));
460 int s2 = x + m_Nx2 * (z + m_Nz * t);
462 for (
int in = 0; in < Nin; in++) {
463 for (
int ex = 0; ex < Nex; ex++) {
464 wt.
set(in, s2, ex, w.
cmp(in, px, ex));
471 const int size = Nin * (Nvol /
m_Ny) * Nex;
474 for (
int t = 0; t <
m_Nt; t++) {
475 for (
int z = 0; z <
m_Nz; z++) {
476 for (
int x = 0; x <
m_Nx2; x++) {
477 int s2 = x + m_Nx2 * (z + m_Nz * t);
481 for (
int in = 0; in < Nin; in++) {
482 for (
int ex = 0; ex < Nex; ex++) {
483 v.
set(in, ix, ex, bc2 * vt.
cmp(in, s2, ex));
499 bc2 = boundary_condition;
504 const int Nin = w.
nin();
505 const int Nex = w.
nex();
506 const int Nvol = w.
nvol();
511 for (
int t = 0; t <
m_Nt; t++) {
512 for (
int y = 0; y <
m_Ny; y++) {
513 for (
int x = 0; x <
m_Nx2; x++) {
515 for (
int z = 0; z <
m_Nz - 1; z++) {
518 for (
int ex = 0; ex < Nex; ex++) {
519 for (
int in = 0; in < Nin; in++) {
520 v.
set(in, ix, ex, w.
cmp(in, px, ex));
526 int s2 = x + m_Nx2 * (y + m_Ny * t);
528 for (
int in = 0; in < Nin; in++) {
529 for (
int ex = 0; ex < Nex; ex++) {
530 wt.
set(in, s2, ex, bc2 * w.
cmp(in, px, ex));
537 const int size = Nin * (Nvol /
m_Nz) * Nex;
540 for (
int t = 0; t <
m_Nt; t++) {
541 for (
int y = 0; y <
m_Ny; y++) {
542 for (
int x = 0; x <
m_Nx2; x++) {
543 int s2 = x + m_Nx2 * (y + m_Ny * t);
547 for (
int in = 0; in < Nin; in++) {
548 for (
int ex = 0; ex < Nex; ex++) {
549 v.
set(in, ix, ex, vt.
cmp(in, s2, ex));
565 bc2 = boundary_condition;
570 const int Nin = w.
nin();
571 const int Nex = w.
nex();
572 const int Nvol = w.
nvol();
577 for (
int t = 0; t <
m_Nt; t++) {
578 for (
int y = 0; y <
m_Ny; y++) {
579 for (
int x = 0; x <
m_Nx2; x++) {
580 int s2 = x + m_Nx2 * (y + m_Ny * t);
583 for (
int z = 1; z <
m_Nz; z++) {
586 for (
int ex = 0; ex < Nex; ex++) {
587 for (
int in = 0; in < Nin; in++) {
588 v.
set(in, ix, ex, w.
cmp(in, px, ex));
594 for (
int in = 0; in < Nin; in++) {
595 for (
int ex = 0; ex < Nex; ex++) {
596 wt.
set(in, s2, ex, w.
cmp(in, px, ex));
603 const int size = Nin * (Nvol /
m_Nz) * Nex;
606 for (
int t = 0; t <
m_Nt; t++) {
607 for (
int y = 0; y <
m_Ny; y++) {
608 for (
int x = 0; x <
m_Nx2; x++) {
609 int s2 = x + m_Nx2 * (y + m_Ny * t);
613 for (
int in = 0; in < Nin; in++) {
614 for (
int ex = 0; ex < Nex; ex++) {
615 v.
set(in, ix, ex, bc2 * vt.
cmp(in, s2, ex));
631 bc2 = boundary_condition;
636 const int Nin = w.
nin();
637 const int Nex = w.
nex();
638 const int Nvol = w.
nvol();
643 for (
int z = 0; z <
m_Nz; z++) {
644 for (
int y = 0; y <
m_Ny; y++) {
645 for (
int x = 0; x <
m_Nx2; x++) {
646 int s2 = x + m_Nx2 * (y + m_Ny * z);
649 for (
int t = 0; t <
m_Nt - 1; t++) {
652 for (
int ex = 0; ex < Nex; ex++) {
653 for (
int in = 0; in < Nin; in++) {
654 v.
set(in, ix, ex, w.
cmp(in, px, ex));
661 for (
int ex = 0; ex < Nex; ex++) {
662 for (
int in = 0; in < Nin; in++) {
663 wt.
set(in, s2, ex, bc2 * w.
cmp(in, px, ex));
670 const int size = Nin * (Nvol /
m_Nt) * Nex;
673 for (
int z = 0; z <
m_Nz; z++) {
674 for (
int y = 0; y <
m_Ny; y++) {
675 for (
int x = 0; x <
m_Nx2; x++) {
676 int s2 = x + m_Nx2 * (y + m_Ny * z);
680 for (
int ex = 0; ex < Nex; ex++) {
681 for (
int in = 0; in < Nin; in++) {
682 v.
set(in, ix, ex, vt.
cmp(in, s2, ex));
698 bc2 = boundary_condition;
703 const int Nin = w.
nin();
704 const int Nex = w.
nex();
705 const int Nvol = w.
nvol();
710 for (
int z = 0; z <
m_Nz; z++) {
711 for (
int y = 0; y <
m_Ny; y++) {
712 for (
int x = 0; x <
m_Nx2; x++) {
713 int s2 = x + m_Nx2 * (y + m_Ny * z);
716 for (
int t = 1; t <
m_Nt; t++) {
719 for (
int ex = 0; ex < Nex; ex++) {
720 for (
int in = 0; in < Nin; in++) {
721 v.
set(in, ix, ex, w.
cmp(in, px, ex));
728 for (
int ex = 0; ex < Nex; ex++) {
729 for (
int in = 0; in < Nin; in++) {
730 wt.
set(in, s2, ex, w.
cmp(in, px, ex));
737 const int size = Nin * (Nvol /
m_Nt) * Nex;
740 for (
int z = 0; z <
m_Nz; z++) {
741 for (
int y = 0; y <
m_Ny; y++) {
742 for (
int x = 0; x <
m_Nx2; x++) {
743 int s2 = x + m_Nx2 * (y + m_Ny * z);
748 for (
int ex = 0; ex < Nex; ex++) {
749 for (
int in = 0; in < Nin; in++) {
750 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)