33 std::cout <<
"wrong parameter: ShiftField_lex\n";
54 std::cout <<
"wrong parameter: ShiftField_lex\n";
62 const int bc,
const int mu)
73 std::cout <<
"wrong parameter: ShiftField_lex\n";
81 const int bc,
const int mu)
92 std::cout <<
"wrong parameter: ShiftField_lex\n";
111 int Nvol = w->
nvol();
116 for (
int t = 0; t <
Nt; t++) {
117 for (
int z = 0; z <
Nz; z++) {
118 for (
int y = 0; y <
Ny; y++) {
119 int s2 = y + Ny * (z + Nz * t);
121 for (
int x = 0; x <
Nx - 1; x++) {
123 int px =
idx.
site(x + 1, y, z, t);
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));
131 int ix =
idx.
site(Nx - 1, y, z, t);
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 int size = Nin * (Nvol /
Nx) * Nex;
145 for (
int t = 0; t <
Nt; t++) {
146 for (
int z = 0; z <
Nz; z++) {
147 for (
int y = 0; y <
Ny; y++) {
148 int s2 = y + Ny * (z + Nz * t);
150 int ix =
idx.
site(Nx - 1, y, z, 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));
179 int Nvol = w->
nvol();
184 for (
int t = 0; t <
Nt; t++) {
185 for (
int z = 0; z <
Nz; z++) {
186 for (
int x = 0; x <
Nx; x++) {
187 int s2 = x + Nx * (z + Nz * t);
190 for (
int y = 0; y < Ny - 1; y++) {
192 int px =
idx.
site(x, y + 1, z, t);
193 for (
int ex = 0; ex < Nex; ex++) {
194 for (
int in = 0; in < Nin; in++) {
195 v->
set(in, ix, ex, w->
cmp(in, px, ex));
201 int ix =
idx.
site(x, Ny - 1, z, t);
203 for (
int in = 0; in < Nin; in++) {
204 for (
int ex = 0; ex < Nex; ex++) {
205 wt->
set(in, s2, ex, bc2 * w->
cmp(in, px, ex));
212 int size = Nin * (Nvol /
Ny) * Nex;
215 for (
int t = 0; t <
Nt; t++) {
216 for (
int z = 0; z <
Nz; z++) {
217 for (
int x = 0; x <
Nx; x++) {
218 int s2 = x + Nx * (z + Nz * t);
221 int ix =
idx.
site(x, Ny - 1, z, t);
223 for (
int in = 0; in < Nin; in++) {
224 for (
int ex = 0; ex < Nex; ex++) {
225 v->
set(in, ix, ex, vt->
cmp(in, s2, ex));
250 int Nvol = w->
nvol();
255 for (
int t = 0; t <
Nt; t++) {
256 for (
int y = 0; y <
Ny; y++) {
257 for (
int x = 0; x <
Nx; x++) {
258 int s2 = x + Nx * (y + Ny * t);
261 for (
int z = 0; z < Nz - 1; z++) {
263 int px =
idx.
site(x, y, z + 1, t);
264 for (
int ex = 0; ex < Nex; ex++) {
265 for (
int in = 0; in < Nin; in++) {
266 v->
set(in, ix, ex, w->
cmp(in, px, ex));
272 int ix =
idx.
site(x, y, Nz - 1, t);
274 for (
int in = 0; in < Nin; in++) {
275 for (
int ex = 0; ex < Nex; ex++) {
276 wt->
set(in, s2, ex, bc2 * w->
cmp(in, px, ex));
283 int size = Nin * (Nvol /
Nz) * Nex;
286 for (
int t = 0; t <
Nt; t++) {
287 for (
int y = 0; y <
Ny; y++) {
288 for (
int x = 0; x <
Nx; x++) {
289 int s2 = x + Nx * (y + Ny * t);
292 int ix =
idx.
site(x, y, Nz - 1, t);
294 for (
int in = 0; in < Nin; in++) {
295 for (
int ex = 0; ex < Nex; ex++) {
296 v->
set(in, ix, ex, vt->
cmp(in, s2, ex));
321 int Nvol = w->
nvol();
326 for (
int z = 0; z <
Nz; z++) {
327 for (
int y = 0; y <
Ny; y++) {
328 for (
int x = 0; x <
Nx; x++) {
329 int s2 = x + Nx * (y + Ny * z);
332 for (
int t = 0; t < Nt - 1; t++) {
334 int px =
idx.
site(x, y, z, t + 1);
335 for (
int ex = 0; ex < Nex; ex++) {
336 for (
int in = 0; in < Nin; in++) {
337 v->
set(in, ix, ex, w->
cmp(in, px, ex));
343 int ix =
idx.
site(x, y, z, Nt - 1);
345 for (
int ex = 0; ex < Nex; ex++) {
346 for (
int in = 0; in < Nin; in++) {
347 wt->
set(in, s2, ex, bc2 * w->
cmp(in, px, ex));
354 int size = Nin * (Nvol /
Nt) * Nex;
357 for (
int z = 0; z <
Nz; z++) {
358 for (
int y = 0; y <
Ny; y++) {
359 for (
int x = 0; x <
Nx; x++) {
360 int s2 = x + Nx * (y + Ny * z);
363 int ix =
idx.
site(x, y, z, Nt - 1);
365 for (
int ex = 0; ex < Nex; ex++) {
366 for (
int in = 0; in < Nin; in++) {
367 v->
set(in, ix, ex, vt->
cmp(in, s2, ex));
392 int Nvol = w->
nvol();
397 for (
int t = 0; t <
Nt; t++) {
398 for (
int z = 0; z <
Nz; z++) {
399 for (
int y = 0; y <
Ny; y++) {
400 int s2 = y + Ny * (z + Nz * t);
403 for (
int x = 1; x <
Nx; x++) {
405 int px =
idx.
site(x - 1, y, z, t);
406 for (
int ex = 0; ex < Nex; ex++) {
407 for (
int in = 0; in < Nin; in++) {
408 v->
set(in, ix, ex, w->
cmp(in, px, ex));
414 int px =
idx.
site(Nx - 1, y, z, t);
415 for (
int in = 0; in < Nin; in++) {
416 for (
int ex = 0; ex < Nex; ex++) {
417 wt->
set(in, s2, ex, w->
cmp(in, px, ex));
424 int size = Nin * (Nvol /
Nx) * Nex;
427 for (
int t = 0; t <
Nt; t++) {
428 for (
int z = 0; z <
Nz; z++) {
429 for (
int y = 0; y <
Ny; y++) {
430 int s2 = y + Ny * (z + Nz * t);
434 for (
int in = 0; in < Nin; in++) {
435 for (
int ex = 0; ex < Nex; ex++) {
436 v->
set(in, ix, ex, bc2 * vt->
cmp(in, s2, ex));
461 int Nvol = w->
nvol();
466 for (
int t = 0; t <
Nt; t++) {
467 for (
int z = 0; z <
Nz; z++) {
468 for (
int x = 0; x <
Nx; x++) {
469 int s2 = x + Nx * (z + Nz * t);
472 for (
int y = 1; y <
Ny; y++) {
474 int px =
idx.
site(x, y - 1, z, t);
475 for (
int ex = 0; ex < Nex; ex++) {
476 for (
int in = 0; in < Nin; in++) {
477 v->
set(in, ix, ex, w->
cmp(in, px, ex));
483 int px =
idx.
site(x, Ny - 1, z, t);
484 for (
int in = 0; in < Nin; in++) {
485 for (
int ex = 0; ex < Nex; ex++) {
486 wt->
set(in, s2, ex, w->
cmp(in, px, ex));
493 int size = Nin * (Nvol /
Ny) * Nex;
496 for (
int t = 0; t <
Nt; t++) {
497 for (
int z = 0; z <
Nz; z++) {
498 for (
int x = 0; x <
Nx; x++) {
499 int s2 = x + Nx * (z + Nz * t);
503 int px =
idx.
site(x, Ny - 1, z, t);
504 for (
int in = 0; in < Nin; in++) {
505 for (
int ex = 0; ex < Nex; ex++) {
506 v->
set(in, ix, ex, bc2 * vt->
cmp(in, s2, ex));
531 int Nvol = w->
nvol();
536 for (
int t = 0; t <
Nt; t++) {
537 for (
int y = 0; y <
Ny; y++) {
538 for (
int x = 0; x <
Nx; x++) {
539 int s2 = x + Nx * (y + Ny * t);
542 for (
int z = 1; z <
Nz; z++) {
544 int px =
idx.
site(x, y, z - 1, t);
545 for (
int ex = 0; ex < Nex; ex++) {
546 for (
int in = 0; in < Nin; in++) {
547 v->
set(in, ix, ex, w->
cmp(in, px, ex));
553 int px =
idx.
site(x, y, Nz - 1, t);
554 for (
int in = 0; in < Nin; in++) {
555 for (
int ex = 0; ex < Nex; ex++) {
556 wt->
set(in, s2, ex, w->
cmp(in, px, ex));
563 int size = Nin * (Nvol /
Nz) * Nex;
566 for (
int t = 0; t <
Nt; t++) {
567 for (
int y = 0; y <
Ny; y++) {
568 for (
int x = 0; x <
Nx; x++) {
569 int s2 = x + Nx * (y + Ny * t);
573 int px =
idx.
site(x, y, Nz - 1, t);
574 for (
int in = 0; in < Nin; in++) {
575 for (
int ex = 0; ex < Nex; ex++) {
576 v->
set(in, ix, ex, bc2 * vt->
cmp(in, s2, ex));
601 int Nvol = w->
nvol();
606 for (
int z = 0; z <
Nz; z++) {
607 for (
int y = 0; y <
Ny; y++) {
608 for (
int x = 0; x <
Nx; x++) {
609 int s2 = x + Nx * (y + Ny * z);
612 for (
int t = 1; t <
Nt; t++) {
614 int px =
idx.
site(x, y, z, t - 1);
615 for (
int ex = 0; ex < Nex; ex++) {
616 for (
int in = 0; in < Nin; in++) {
617 v->
set(in, ix, ex, w->
cmp(in, px, ex));
623 int px =
idx.
site(x, y, z, Nt - 1);
624 for (
int ex = 0; ex < Nex; ex++) {
625 for (
int in = 0; in < Nin; in++) {
626 wt->
set(in, s2, ex, w->
cmp(in, px, ex));
633 int size = Nin * (Nvol /
Nt) * Nex;
636 for (
int z = 0; z <
Nz; z++) {
637 for (
int y = 0; y <
Ny; y++) {
638 for (
int x = 0; x <
Nx; x++) {
639 int s2 = x + Nx * (y + Ny * z);
643 int px =
idx.
site(x, y, z, Nt - 1);
644 for (
int ex = 0; ex < Nex; ex++) {
645 for (
int in = 0; in < Nin; in++) {
646 v->
set(in, ix, ex, bc2 * vt->
cmp(in, s2, ex));
void up_t(Field *, const Field *, const int bc)
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
double * ptr(const int jin, const int site, const int jex)
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 bc)
static int ipe(const int dir)
logical coordinate of current proc.
void dn_y(Field *, const Field *, const int bc)
void up_y(Field *, const Field *, const int bc)
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 dn_z(Field *, const Field *, const int bc)
void up_x(Field *, const Field *, const int bc)
void dn_x(Field *, const Field *, const int bc)
void up_z(Field *, const Field *, const int bc)
void forward(Field &, const Field &, const int mu)