22 int boundary_condition = 1;
25 up_x(&v, &w, boundary_condition);
27 up_y(&v, &w, boundary_condition);
29 up_z(&v, &w, boundary_condition);
31 up_t(&v, &w, boundary_condition);
43 int boundary_condition = 1;
46 dn_x(&v, &w, boundary_condition);
48 dn_y(&v, &w, boundary_condition);
50 dn_z(&v, &w, boundary_condition);
52 dn_t(&v, &w, boundary_condition);
62 const int boundary_condition,
const int mu)
65 up_x(&v, &w, boundary_condition);
67 up_y(&v, &w, boundary_condition);
69 up_z(&v, &w, boundary_condition);
71 up_t(&v, &w, boundary_condition);
81 const int boundary_condition,
const int mu)
84 dn_x(&v, &w, boundary_condition);
86 dn_y(&v, &w, boundary_condition);
88 dn_z(&v, &w, boundary_condition);
90 dn_t(&v, &w, boundary_condition);
104 bc2 = boundary_condition;
109 const int Nin = w->
nin();
110 const int Nex = w->
nex();
111 const int Nvol = w->
nvol();
116 for (
int t = 0; t <
m_Nt; t++) {
117 for (
int z = 0; z <
m_Nz; z++) {
118 for (
int y = 0; y <
m_Ny; y++) {
119 int s2 = y + m_Ny * (z + m_Nz * t);
121 for (
int x = 0; x <
m_Nx - 1; x++) {
124 for (
int ex = 0; ex < Nex; ex++) {
125 for (
int in = 0; in < Nin; in++) {
126 v->
set(in, ix, ex, w->
cmp(in, px, ex));
133 for (
int in = 0; in < Nin; in++) {
134 for (
int ex = 0; ex < Nex; ex++) {
135 wt->set(in, s2, ex, bc2 * w->
cmp(in, px, ex));
142 const int size = Nin * (Nvol /
m_Nx) * Nex;
145 for (
int t = 0; t <
m_Nt; t++) {
146 for (
int z = 0; z <
m_Nz; z++) {
147 for (
int y = 0; y <
m_Ny; y++) {
148 int s2 = y + m_Ny * (z + m_Nz * t);
152 for (
int in = 0; in < Nin; in++) {
153 for (
int ex = 0; ex < Nex; ex++) {
154 v->
set(in, ix, ex, vt->cmp(in, s2, ex));
170 bc2 = boundary_condition;
175 const int Nin = w->
nin();
176 const int Nex = w->
nex();
177 const int Nvol = w->
nvol();
182 for (
int t = 0; t <
m_Nt; t++) {
183 for (
int z = 0; z <
m_Nz; z++) {
184 for (
int x = 0; x <
m_Nx; x++) {
185 int s2 = x + m_Nx * (z + m_Nz * t);
188 for (
int y = 0; y < m_Ny - 1; y++) {
191 for (
int ex = 0; ex < Nex; ex++) {
192 for (
int in = 0; in < Nin; in++) {
193 v->
set(in, ix, ex, w->
cmp(in, px, ex));
201 for (
int in = 0; in < Nin; in++) {
202 for (
int ex = 0; ex < Nex; ex++) {
203 wt->set(in, s2, ex, bc2 * w->
cmp(in, px, ex));
210 const int size = Nin * (Nvol /
m_Ny) * Nex;
213 for (
int t = 0; t <
m_Nt; t++) {
214 for (
int z = 0; z <
m_Nz; z++) {
215 for (
int x = 0; x <
m_Nx; x++) {
216 int s2 = x + m_Nx * (z + m_Nz * t);
221 for (
int in = 0; in < Nin; in++) {
222 for (
int ex = 0; ex < Nex; ex++) {
223 v->
set(in, ix, ex, vt->cmp(in, s2, ex));
239 bc2 = boundary_condition;
244 const int Nin = w->
nin();
245 const int Nex = w->
nex();
246 const int Nvol = w->
nvol();
251 for (
int t = 0; t <
m_Nt; t++) {
252 for (
int y = 0; y <
m_Ny; y++) {
253 for (
int x = 0; x <
m_Nx; x++) {
254 int s2 = x + m_Nx * (y + m_Ny * t);
257 for (
int z = 0; z < m_Nz - 1; z++) {
260 for (
int ex = 0; ex < Nex; ex++) {
261 for (
int in = 0; in < Nin; in++) {
262 v->
set(in, ix, ex, w->
cmp(in, px, ex));
270 for (
int in = 0; in < Nin; in++) {
271 for (
int ex = 0; ex < Nex; ex++) {
272 wt->set(in, s2, ex, bc2 * w->
cmp(in, px, ex));
279 const int size = Nin * (Nvol /
m_Nz) * Nex;
282 for (
int t = 0; t <
m_Nt; t++) {
283 for (
int y = 0; y <
m_Ny; y++) {
284 for (
int x = 0; x <
m_Nx; x++) {
285 int s2 = x + m_Nx * (y + m_Ny * t);
290 for (
int in = 0; in < Nin; in++) {
291 for (
int ex = 0; ex < Nex; ex++) {
292 v->
set(in, ix, ex, vt->cmp(in, s2, ex));
308 bc2 = boundary_condition;
313 const int Nin = w->
nin();
314 const int Nex = w->
nex();
315 const int Nvol = w->
nvol();
320 for (
int z = 0; z <
m_Nz; z++) {
321 for (
int y = 0; y <
m_Ny; y++) {
322 for (
int x = 0; x <
m_Nx; x++) {
323 int s2 = x + m_Nx * (y + m_Ny * z);
326 for (
int t = 0; t < m_Nt - 1; t++) {
329 for (
int ex = 0; ex < Nex; ex++) {
330 for (
int in = 0; in < Nin; in++) {
331 v->
set(in, ix, ex, w->
cmp(in, px, ex));
339 for (
int ex = 0; ex < Nex; ex++) {
340 for (
int in = 0; in < Nin; in++) {
341 wt->set(in, s2, ex, bc2 * w->
cmp(in, px, ex));
348 const int size = Nin * (Nvol /
m_Nt) * Nex;
351 for (
int z = 0; z <
m_Nz; z++) {
352 for (
int y = 0; y <
m_Ny; y++) {
353 for (
int x = 0; x <
m_Nx; x++) {
354 int s2 = x + m_Nx * (y + m_Ny * z);
359 for (
int ex = 0; ex < Nex; ex++) {
360 for (
int in = 0; in < Nin; in++) {
361 v->
set(in, ix, ex, vt->cmp(in, s2, ex));
377 bc2 = boundary_condition;
382 const int Nin = w->
nin();
383 const int Nex = w->
nex();
384 const int Nvol = w->
nvol();
389 for (
int t = 0; t <
m_Nt; t++) {
390 for (
int z = 0; z <
m_Nz; z++) {
391 for (
int y = 0; y <
m_Ny; y++) {
392 int s2 = y + m_Ny * (z + m_Nz * t);
395 for (
int x = 1; x <
m_Nx; x++) {
398 for (
int ex = 0; ex < Nex; ex++) {
399 for (
int in = 0; in < Nin; in++) {
400 v->
set(in, ix, ex, w->
cmp(in, px, ex));
407 for (
int in = 0; in < Nin; in++) {
408 for (
int ex = 0; ex < Nex; ex++) {
409 wt->set(in, s2, ex, w->
cmp(in, px, ex));
416 const int size = Nin * (Nvol /
m_Nx) * Nex;
419 for (
int t = 0; t <
m_Nt; t++) {
420 for (
int z = 0; z <
m_Nz; z++) {
421 for (
int y = 0; y <
m_Ny; y++) {
422 int s2 = y + m_Ny * (z + m_Nz * t);
426 for (
int in = 0; in < Nin; in++) {
427 for (
int ex = 0; ex < Nex; ex++) {
428 v->
set(in, ix, ex, bc2 * vt->cmp(in, s2, ex));
444 bc2 = boundary_condition;
449 const int Nin = w->
nin();
450 const int Nex = w->
nex();
451 const int Nvol = w->
nvol();
456 for (
int t = 0; t <
m_Nt; t++) {
457 for (
int z = 0; z <
m_Nz; z++) {
458 for (
int x = 0; x <
m_Nx; x++) {
459 int s2 = x + m_Nx * (z + m_Nz * t);
462 for (
int y = 1; y <
m_Ny; y++) {
465 for (
int ex = 0; ex < Nex; ex++) {
466 for (
int in = 0; in < Nin; in++) {
467 v->
set(in, ix, ex, w->
cmp(in, px, ex));
474 for (
int in = 0; in < Nin; in++) {
475 for (
int ex = 0; ex < Nex; ex++) {
476 wt->set(in, s2, ex, w->
cmp(in, px, ex));
483 const int size = Nin * (Nvol /
m_Ny) * Nex;
486 for (
int t = 0; t <
m_Nt; t++) {
487 for (
int z = 0; z <
m_Nz; z++) {
488 for (
int x = 0; x <
m_Nx; x++) {
489 int s2 = x + m_Nx * (z + m_Nz * t);
494 for (
int in = 0; in < Nin; in++) {
495 for (
int ex = 0; ex < Nex; ex++) {
496 v->
set(in, ix, ex, bc2 * vt->cmp(in, s2, ex));
512 bc2 = boundary_condition;
517 const int Nin = w->
nin();
518 const int Nex = w->
nex();
519 const int Nvol = w->
nvol();
524 for (
int t = 0; t <
m_Nt; t++) {
525 for (
int y = 0; y <
m_Ny; y++) {
526 for (
int x = 0; x <
m_Nx; x++) {
527 int s2 = x + m_Nx * (y + m_Ny * t);
530 for (
int z = 1; z <
m_Nz; z++) {
533 for (
int ex = 0; ex < Nex; ex++) {
534 for (
int in = 0; in < Nin; in++) {
535 v->
set(in, ix, ex, w->
cmp(in, px, ex));
542 for (
int in = 0; in < Nin; in++) {
543 for (
int ex = 0; ex < Nex; ex++) {
544 wt->set(in, s2, ex, w->
cmp(in, px, ex));
551 const int size = Nin * (Nvol /
m_Nz) * Nex;
554 for (
int t = 0; t <
m_Nt; t++) {
555 for (
int y = 0; y <
m_Ny; y++) {
556 for (
int x = 0; x <
m_Nx; x++) {
557 int s2 = x + m_Nx * (y + m_Ny * t);
562 for (
int in = 0; in < Nin; in++) {
563 for (
int ex = 0; ex < Nex; ex++) {
564 v->
set(in, ix, ex, bc2 * vt->cmp(in, s2, ex));
580 bc2 = boundary_condition;
585 const int Nin = w->
nin();
586 const int Nex = w->
nex();
587 const int Nvol = w->
nvol();
592 for (
int z = 0; z <
m_Nz; z++) {
593 for (
int y = 0; y <
m_Ny; y++) {
594 for (
int x = 0; x <
m_Nx; x++) {
595 int s2 = x + m_Nx * (y + m_Ny * z);
598 for (
int t = 1; t <
m_Nt; t++) {
601 for (
int ex = 0; ex < Nex; ex++) {
602 for (
int in = 0; in < Nin; in++) {
603 v->
set(in, ix, ex, w->
cmp(in, px, ex));
610 for (
int ex = 0; ex < Nex; ex++) {
611 for (
int in = 0; in < Nin; in++) {
612 wt->set(in, s2, ex, w->
cmp(in, px, ex));
619 const int size = Nin * (Nvol /
m_Nt) * Nex;
622 for (
int z = 0; z <
m_Nz; z++) {
623 for (
int y = 0; y <
m_Ny; y++) {
624 for (
int x = 0; x <
m_Nx; x++) {
625 int s2 = x + m_Nx * (y + m_Ny * z);
630 for (
int ex = 0; ex < Nex; ex++) {
631 for (
int in = 0; in < Nin; in++) {
632 v->
set(in, ix, ex, bc2 * vt->cmp(in, s2, ex));
Bridge::VerboseLevel m_vl
void set(const int jin, const int site, const int jex, double v)
int site(const int &x, const int &y, const int &z, const int &t) const
static const std::string class_name
void up_x(Field *, const Field *, const int boundary_condition)
void up_z(Field *, const Field *, const int boundary_condition)
Container of Field-type object.
double cmp(const int jin, const int site, const int jex) const
void dn_t(Field *, const Field *, const int boundary_condition)
static int ipe(const int dir)
logical coordinate of current proc.
static int exchange(int count, double *recv_buf, double *send_buf, int idir, int ipm, int tag)
receive array of double from upstream specified by idir and ipm, and send array to downstream...
void backward(Field &, const Field &, const int mu)
void crucial(const char *format,...)
void up_y(Field *, const Field *, const int boundary_condition)
void dn_z(Field *, const Field *, const int boundary_condition)
void up_t(Field *, const Field *, const int boundary_condition)
void dn_x(Field *, const Field *, const int boundary_condition)
void dn_y(Field *, const Field *, const int boundary_condition)
void forward(Field &, const Field &, const int mu)