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));
251 const int size = Nin * Nvol2 * Nex;
255 for (
int t = 0; t <
m_Nt; t++) {
256 for (
int z = 0; z <
m_Nz; z++) {
257 for (
int y = 0; y <
m_Ny; y++) {
261 for (
int in = 0; in < Nin; in++) {
262 for (
int ex = 0; ex < Nex; ex++) {
263 v.
set(in, ix, ex, vt.
cmp(in, s2, ex));
281 bc2 = boundary_condition;
286 const int Nin = w.
nin();
287 const int Nex = w.
nex();
288 const int Nvol = w.
nvol();
289 const int Nvol2 = (1 + Nvol /
m_Nx2) / 2;
291 Field wt(Nin, Nvol2, Nex);
292 Field vt(Nin, Nvol2, Nex);
295 for (
int t = 0; t <
m_Nt; t++) {
296 for (
int z = 0; z <
m_Nz; z++) {
297 for (
int y = 0; y <
m_Ny; y++) {
300 for (
int x = 0; x <
m_Nx2; x++) {
302 for (
int ex = 0; ex < Nex; ex++) {
303 for (
int in = 0; in < Nin; in++) {
304 v.
set(in, ix, ex, w.
cmp(in, ix, ex));
310 for (
int x = 1; x <
m_Nx2; x++) {
313 for (
int ex = 0; ex < Nex; ex++) {
314 for (
int in = 0; in < Nin; in++) {
315 v.
set(in, ix, ex, w.
cmp(in, mx, ex));
321 for (
int in = 0; in < Nin; in++) {
322 for (
int ex = 0; ex < Nex; ex++) {
323 wt.
set(in, s2, ex, w.
cmp(in, mx, ex));
332 const int size = Nin * Nvol2 * Nex;
336 for (
int t = 0; t <
m_Nt; t++) {
337 for (
int z = 0; z <
m_Nz; z++) {
338 for (
int y = 0; y <
m_Ny; y++) {
342 for (
int in = 0; in < Nin; in++) {
343 for (
int ex = 0; ex < Nex; ex++) {
344 v.
set(in, ix, ex, bc2 * vt.
cmp(in, s2, ex));
362 bc2 = boundary_condition;
367 const int Nin = w.
nin();
368 const int Nex = w.
nex();
369 const int Nvol = w.
nvol();
374 for (
int t = 0; t <
m_Nt; t++) {
375 for (
int z = 0; z <
m_Nz; z++) {
376 for (
int x = 0; x <
m_Nx2; x++) {
378 for (
int y = 0; y <
m_Ny - 1; y++) {
381 for (
int ex = 0; ex < Nex; ex++) {
382 for (
int in = 0; in < Nin; in++) {
383 v.
set(in, ix, ex, w.
cmp(in, px, ex));
389 int s2 = x + m_Nx2 * (z + m_Nz * t);
391 for (
int in = 0; in < Nin; in++) {
392 for (
int ex = 0; ex < Nex; ex++) {
393 wt.
set(in, s2, ex, bc2 * w.
cmp(in, px, ex));
400 const int size = Nin * (Nvol /
m_Ny) * Nex;
403 for (
int t = 0; t <
m_Nt; t++) {
404 for (
int z = 0; z <
m_Nz; z++) {
405 for (
int x = 0; x <
m_Nx2; x++) {
407 int s2 = x + m_Nx2 * (z + m_Nz * t);
409 for (
int in = 0; in < Nin; in++) {
410 for (
int ex = 0; ex < Nex; ex++) {
411 v.
set(in, ix, ex, vt.
cmp(in, s2, ex));
427 bc2 = boundary_condition;
432 const int Nin = w.
nin();
433 const int Nex = w.
nex();
434 const int Nvol = w.
nvol();
439 for (
int t = 0; t <
m_Nt; t++) {
440 for (
int z = 0; z <
m_Nz; z++) {
441 for (
int x = 0; x <
m_Nx2; x++) {
443 for (
int y = 1; y <
m_Ny; y++) {
446 for (
int ex = 0; ex < Nex; ex++) {
447 for (
int in = 0; in < Nin; in++) {
448 v.
set(in, ix, ex, w.
cmp(in, px, ex));
453 int s2 = x + m_Nx2 * (z + m_Nz * t);
455 for (
int in = 0; in < Nin; in++) {
456 for (
int ex = 0; ex < Nex; ex++) {
457 wt.
set(in, s2, ex, w.
cmp(in, px, ex));
464 const int size = Nin * (Nvol /
m_Ny) * Nex;
467 for (
int t = 0; t <
m_Nt; t++) {
468 for (
int z = 0; z <
m_Nz; z++) {
469 for (
int x = 0; x <
m_Nx2; x++) {
470 int s2 = x + m_Nx2 * (z + m_Nz * t);
474 for (
int in = 0; in < Nin; in++) {
475 for (
int ex = 0; ex < Nex; ex++) {
476 v.
set(in, ix, ex, bc2 * vt.
cmp(in, s2, ex));
492 bc2 = boundary_condition;
497 const int Nin = w.
nin();
498 const int Nex = w.
nex();
499 const int Nvol = w.
nvol();
504 for (
int t = 0; t <
m_Nt; t++) {
505 for (
int y = 0; y <
m_Ny; y++) {
506 for (
int x = 0; x <
m_Nx2; x++) {
508 for (
int z = 0; z <
m_Nz - 1; z++) {
511 for (
int ex = 0; ex < Nex; ex++) {
512 for (
int in = 0; in < Nin; in++) {
513 v.
set(in, ix, ex, w.
cmp(in, px, ex));
519 int s2 = x + m_Nx2 * (y + m_Ny * t);
521 for (
int in = 0; in < Nin; in++) {
522 for (
int ex = 0; ex < Nex; ex++) {
523 wt.
set(in, s2, ex, bc2 * w.
cmp(in, px, ex));
530 const int size = Nin * (Nvol /
m_Nz) * Nex;
533 for (
int t = 0; t <
m_Nt; t++) {
534 for (
int y = 0; y <
m_Ny; y++) {
535 for (
int x = 0; x <
m_Nx2; x++) {
536 int s2 = x + m_Nx2 * (y + m_Ny * t);
540 for (
int in = 0; in < Nin; in++) {
541 for (
int ex = 0; ex < Nex; ex++) {
542 v.
set(in, ix, ex, vt.
cmp(in, s2, ex));
558 bc2 = boundary_condition;
563 const int Nin = w.
nin();
564 const int Nex = w.
nex();
565 const int Nvol = w.
nvol();
570 for (
int t = 0; t <
m_Nt; t++) {
571 for (
int y = 0; y <
m_Ny; y++) {
572 for (
int x = 0; x <
m_Nx2; x++) {
573 int s2 = x + m_Nx2 * (y + m_Ny * t);
576 for (
int z = 1; z <
m_Nz; z++) {
579 for (
int ex = 0; ex < Nex; ex++) {
580 for (
int in = 0; in < Nin; in++) {
581 v.
set(in, ix, ex, w.
cmp(in, px, ex));
587 for (
int in = 0; in < Nin; in++) {
588 for (
int ex = 0; ex < Nex; ex++) {
589 wt.
set(in, s2, ex, w.
cmp(in, px, ex));
596 const int size = Nin * (Nvol /
m_Nz) * Nex;
599 for (
int t = 0; t <
m_Nt; t++) {
600 for (
int y = 0; y <
m_Ny; y++) {
601 for (
int x = 0; x <
m_Nx2; x++) {
602 int s2 = x + m_Nx2 * (y + m_Ny * t);
606 for (
int in = 0; in < Nin; in++) {
607 for (
int ex = 0; ex < Nex; ex++) {
608 v.
set(in, ix, ex, bc2 * vt.
cmp(in, s2, ex));
624 bc2 = boundary_condition;
629 const int Nin = w.
nin();
630 const int Nex = w.
nex();
631 const int Nvol = w.
nvol();
636 for (
int z = 0; z <
m_Nz; z++) {
637 for (
int y = 0; y <
m_Ny; y++) {
638 for (
int x = 0; x <
m_Nx2; x++) {
639 int s2 = x + m_Nx2 * (y + m_Ny * z);
642 for (
int t = 0; t <
m_Nt - 1; t++) {
645 for (
int ex = 0; ex < Nex; ex++) {
646 for (
int in = 0; in < Nin; in++) {
647 v.
set(in, ix, ex, w.
cmp(in, px, ex));
654 for (
int ex = 0; ex < Nex; ex++) {
655 for (
int in = 0; in < Nin; in++) {
656 wt.
set(in, s2, ex, bc2 * w.
cmp(in, px, ex));
663 const int size = Nin * (Nvol /
m_Nt) * Nex;
666 for (
int z = 0; z <
m_Nz; z++) {
667 for (
int y = 0; y <
m_Ny; y++) {
668 for (
int x = 0; x <
m_Nx2; x++) {
669 int s2 = x + m_Nx2 * (y + m_Ny * z);
673 for (
int ex = 0; ex < Nex; ex++) {
674 for (
int in = 0; in < Nin; in++) {
675 v.
set(in, ix, ex, vt.
cmp(in, s2, ex));
691 bc2 = boundary_condition;
696 const int Nin = w.
nin();
697 const int Nex = w.
nex();
698 const int Nvol = w.
nvol();
703 for (
int z = 0; z <
m_Nz; z++) {
704 for (
int y = 0; y <
m_Ny; y++) {
705 for (
int x = 0; x <
m_Nx2; x++) {
706 int s2 = x + m_Nx2 * (y + m_Ny * z);
709 for (
int t = 1; t <
m_Nt; t++) {
712 for (
int ex = 0; ex < Nex; ex++) {
713 for (
int in = 0; in < Nin; in++) {
714 v.
set(in, ix, ex, w.
cmp(in, px, ex));
721 for (
int ex = 0; ex < Nex; ex++) {
722 for (
int in = 0; in < Nin; in++) {
723 wt.
set(in, s2, ex, w.
cmp(in, px, ex));
730 const int size = Nin * (Nvol /
m_Nt) * Nex;
733 for (
int z = 0; z <
m_Nz; z++) {
734 for (
int y = 0; y <
m_Ny; y++) {
735 for (
int x = 0; x <
m_Nx2; x++) {
736 int s2 = x + m_Nx2 * (y + m_Ny * z);
741 for (
int ex = 0; ex < Nex; ex++) {
742 for (
int in = 0; in < Nin; in++) {
743 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)