Bridge++  Ver.2.1.3
mult_Wilson_t_dirac_openacc-inc.h
Go to the documentation of this file.
1 
9  //mult_tp
10  idir = 3;
11  nn = (it + 1) % Nt;
12 
13  int ixyz = site % (Nxyz);
14 
15  isn = ixyz + nn * Nxyz;
16  isg = ixyz + it * Nxyz + idir * Nst_pad;
17 
18  vt1_0 = 2.0 * v1[IDX2_SP_R(0,2,isn)];
19  vt1_1 = 2.0 * v1[IDX2_SP_I(0,2,isn)];
20  vt1_2 = 2.0 * v1[IDX2_SP_R(1,2,isn)];
21  vt1_3 = 2.0 * v1[IDX2_SP_I(1,2,isn)];
22  vt1_4 = 2.0 * v1[IDX2_SP_R(2,2,isn)];
23  vt1_5 = 2.0 * v1[IDX2_SP_I(2,2,isn)];
24 
25  vt2_0 = 2.0 * v1[IDX2_SP_R(0,3,isn)];
26  vt2_1 = 2.0 * v1[IDX2_SP_I(0,3,isn)];
27  vt2_2 = 2.0 * v1[IDX2_SP_R(1,3,isn)];
28  vt2_3 = 2.0 * v1[IDX2_SP_I(1,3,isn)];
29  vt2_4 = 2.0 * v1[IDX2_SP_R(2,3,isn)];
30  vt2_5 = 2.0 * v1[IDX2_SP_I(2,3,isn)];
31 
32  u_0 = u_up[IDX2_G_R(0,0,isg)];
33  u_1 = u_up[IDX2_G_I(0,0,isg)];
34  u_2 = u_up[IDX2_G_R(1,0,isg)];
35  u_3 = u_up[IDX2_G_I(1,0,isg)];
36  u_4 = u_up[IDX2_G_R(2,0,isg)];
37  u_5 = u_up[IDX2_G_I(2,0,isg)];
38 
47 
48  // ic = 0;
49  bc2 = 1.0;
50  if(it == Nt-1) bc2 = bc[3];
51  v2_03 += bc2 * wt1r;
52  v2_13 += bc2 * wt1i;
53  v2_04 += bc2 * wt2r;
54  v2_14 += bc2 * wt2i;
55 
56  u_6 = u_up[IDX2_G_R(0,1,isg)];
57  u_7 = u_up[IDX2_G_I(0,1,isg)];
58  u_8 = u_up[IDX2_G_R(1,1,isg)];
59  u_9 = u_up[IDX2_G_I(1,1,isg)];
60  u10 = u_up[IDX2_G_R(2,1,isg)];
61  u11 = u_up[IDX2_G_I(2,1,isg)];
62 
63  wt1r = MULT_GXr(u_6, u_7, u_8, u_9, u10, u11,
65  wt1i = MULT_GXi(u_6, u_7, u_8, u_9, u10, u11,
67  wt2r = MULT_GXr(u_6, u_7, u_8, u_9, u10, u11,
69  wt2i = MULT_GXi(u_6, u_7, u_8, u_9, u10, u11,
71 
72  // ic = 1;
73  v2_23 += bc2 * wt1r;
74  v2_33 += bc2 * wt1i;
75  v2_24 += bc2 * wt2r;
76  v2_34 += bc2 * wt2i;
77 
78 #ifdef SU3_3RD_ROW_RECONST
79  u12 = EXT_IMG_R(u_2, u_3, u_4, u_5, u_8, u_9, u10, u11);
80  u13 = EXT_IMG_I(u_2, u_3, u_4, u_5, u_8, u_9, u10, u11);
81  u14 = EXT_IMG_R(u_4, u_5, u_0, u_1, u10, u11, u_6, u_7);
82  u15 = EXT_IMG_I(u_4, u_5, u_0, u_1, u10, u11, u_6, u_7);
83  u16 = EXT_IMG_R(u_0, u_1, u_2, u_3, u_6, u_7, u_8, u_9);
84  u17 = EXT_IMG_I(u_0, u_1, u_2, u_3, u_6, u_7, u_8, u_9);
85 #else
86  u12 = u_up[IDX2_G_R(0,2,isg)];
87  u13 = u_up[IDX2_G_I(0,2,isg)];
88  u14 = u_up[IDX2_G_R(1,2,isg)];
89  u15 = u_up[IDX2_G_I(1,2,isg)];
90  u16 = u_up[IDX2_G_R(2,2,isg)];
91  u17 = u_up[IDX2_G_I(2,2,isg)];
92 #endif
93 
94  wt1r = MULT_GXr(u12, u13, u14, u15, u16, u17,
96  wt1i = MULT_GXi(u12, u13, u14, u15, u16, u17,
98  wt2r = MULT_GXr(u12, u13, u14, u15, u16, u17,
100  wt2i = MULT_GXi(u12, u13, u14, u15, u16, u17,
102 
103  // ic = 2;
104  v2_43 += bc2 * wt1r;
105  v2_53 += bc2 * wt1i;
106  v2_44 += bc2 * wt2r;
107  v2_54 += bc2 * wt2i;
108 
109 
110  //mult_tm
111  nn = (it + Nt - 1) % Nt;
112 
113  isn = ixyz + nn * Nxyz;
114  isg = ixyz + nn * Nxyz + idir * Nst_pad;
115 
116  vt1_0 = 2.0 * v1[IDX2_SP_R(0,0,isn)];
117  vt1_1 = 2.0 * v1[IDX2_SP_I(0,0,isn)];
118  vt1_2 = 2.0 * v1[IDX2_SP_R(1,0,isn)];
119  vt1_3 = 2.0 * v1[IDX2_SP_I(1,0,isn)];
120  vt1_4 = 2.0 * v1[IDX2_SP_R(2,0,isn)];
121  vt1_5 = 2.0 * v1[IDX2_SP_I(2,0,isn)];
122 
123  vt2_0 = 2.0 * v1[IDX2_SP_R(0,1,isn)];
124  vt2_1 = 2.0 * v1[IDX2_SP_I(0,1,isn)];
125  vt2_2 = 2.0 * v1[IDX2_SP_R(1,1,isn)];
126  vt2_3 = 2.0 * v1[IDX2_SP_I(1,1,isn)];
127  vt2_4 = 2.0 * v1[IDX2_SP_R(2,1,isn)];
128  vt2_5 = 2.0 * v1[IDX2_SP_I(2,1,isn)];
129 
130  u_0 = u_dn[IDX2_G_R(0,0,isg)];
131  u_1 = u_dn[IDX2_G_I(0,0,isg)];
132  u_2 = u_dn[IDX2_G_R(0,1,isg)];
133  u_3 = u_dn[IDX2_G_I(0,1,isg)];
134  u_4 = u_dn[IDX2_G_R(0,2,isg)];
135  u_5 = u_dn[IDX2_G_I(0,2,isg)];
136 
137  wt1r = MULT_GDXr(u_0, u_1, u_2, u_3, u_4, u_5,
139  wt1i = MULT_GDXi(u_0, u_1, u_2, u_3, u_4, u_5,
141  wt2r = MULT_GDXr(u_0, u_1, u_2, u_3, u_4, u_5,
143  wt2i = MULT_GDXi(u_0, u_1, u_2, u_3, u_4, u_5,
145 
146  // ic = 0;
147  bc2 = 1.0;
148  if(it == 0) bc2 = bc[3];
149  v2_01 += bc2 * wt1r;
150  v2_11 += bc2 * wt1i;
151  v2_02 += bc2 * wt2r;
152  v2_12 += bc2 * wt2i;
153 
154  u_6 = u_dn[IDX2_G_R(1,0,isg)];
155  u_7 = u_dn[IDX2_G_I(1,0,isg)];
156  u_8 = u_dn[IDX2_G_R(1,1,isg)];
157  u_9 = u_dn[IDX2_G_I(1,1,isg)];
158  u10 = u_dn[IDX2_G_R(1,2,isg)];
159  u11 = u_dn[IDX2_G_I(1,2,isg)];
160 
161  wt1r = MULT_GDXr(u_6, u_7, u_8, u_9, u10, u11,
163  wt1i = MULT_GDXi(u_6, u_7, u_8, u_9, u10, u11,
165  wt2r = MULT_GDXr(u_6, u_7, u_8, u_9, u10, u11,
167  wt2i = MULT_GDXi(u_6, u_7, u_8, u_9, u10, u11,
169 
170  // ic = 1;
171  v2_21 += bc2 * wt1r;
172  v2_31 += bc2 * wt1i;
173  v2_22 += bc2 * wt2r;
174  v2_32 += bc2 * wt2i;
175 
176 #ifdef SU3_3RD_ROW_RECONST
177  u12 = EXT_IMG_R(u_2, u_3, u_4, u_5, u_8, u_9, u10, u11);
178  u13 = EXT_IMG_I(u_2, u_3, u_4, u_5, u_8, u_9, u10, u11);
179  u14 = EXT_IMG_R(u_4, u_5, u_0, u_1, u10, u11, u_6, u_7);
180  u15 = EXT_IMG_I(u_4, u_5, u_0, u_1, u10, u11, u_6, u_7);
181  u16 = EXT_IMG_R(u_0, u_1, u_2, u_3, u_6, u_7, u_8, u_9);
182  u17 = EXT_IMG_I(u_0, u_1, u_2, u_3, u_6, u_7, u_8, u_9);
183 #else
184  u12 = u_dn[IDX2_G_R(2,0,isg)];
185  u13 = u_dn[IDX2_G_I(2,0,isg)];
186  u14 = u_dn[IDX2_G_R(2,1,isg)];
187  u15 = u_dn[IDX2_G_I(2,1,isg)];
188  u16 = u_dn[IDX2_G_R(2,2,isg)];
189  u17 = u_dn[IDX2_G_I(2,2,isg)];
190 #endif
191 
192  wt1r = MULT_GDXr(u12, u13, u14, u15, u16, u17,
194  wt1i = MULT_GDXi(u12, u13, u14, u15, u16, u17,
196  wt2r = MULT_GDXr(u12, u13, u14, u15, u16, u17,
198  wt2i = MULT_GDXi(u12, u13, u14, u15, u16, u17,
200 
201  // ic = 2;
202  v2_41 += bc2 * wt1r;
203  v2_51 += bc2 * wt1i;
204  v2_42 += bc2 * wt2r;
205  v2_52 += bc2 * wt2i;
206 
207 
208 //============================================================END=====
vt1_0
vt1_0
Definition: mult_Wilson_t_dirac_openacc-inc.h:18
v2_11
v2_11
Definition: mult_Wilson_t_dirac_openacc-inc.h:150
v2_52
v2_52
Definition: mult_Wilson_t_dirac_openacc-inc.h:205
u_9
u_9
Definition: mult_Wilson_t_dirac_openacc-inc.h:59
v2_32
v2_32
Definition: mult_Wilson_t_dirac_openacc-inc.h:174
v2_14
v2_14
Definition: mult_Wilson_t_dirac_openacc-inc.h:54
v2_51
v2_51
Definition: mult_Wilson_t_dirac_openacc-inc.h:203
v2_01
v2_01
Definition: mult_Wilson_t_dirac_openacc-inc.h:149
u_7
u_7
Definition: mult_Wilson_t_dirac_openacc-inc.h:57
u_5
u_5
Definition: mult_Wilson_t_dirac_openacc-inc.h:37
v2_41
v2_41
Definition: mult_Wilson_t_dirac_openacc-inc.h:202
u11
u11
Definition: mult_Wilson_t_dirac_openacc-inc.h:61
EXT_IMG_R
#define EXT_IMG_R(v1r, v1i, v2r, v2i, w1r, w1i, w2r, w2i)
Definition: afield_Gauge_openacc-inc.h:19
u_0
u_0
Definition: mult_Wilson_t_dirac_openacc-inc.h:32
bc2
bc2
Definition: mult_Wilson_t_dirac_openacc-inc.h:49
u_6
u_6
Definition: mult_Wilson_t_dirac_openacc-inc.h:56
v2_02
v2_02
Definition: mult_Wilson_t_dirac_openacc-inc.h:151
v2_53
v2_53
Definition: mult_Wilson_t_dirac_openacc-inc.h:105
v2_54
v2_54
Definition: mult_Wilson_t_dirac_openacc-inc.h:107
v2_34
v2_34
Definition: mult_Wilson_t_dirac_openacc-inc.h:76
v2_22
v2_22
Definition: mult_Wilson_t_dirac_openacc-inc.h:173
v2_43
v2_43
Definition: mult_Wilson_t_dirac_openacc-inc.h:104
vt2_0
vt2_0
Definition: mult_Wilson_t_dirac_openacc-inc.h:25
vt2_4
vt2_4
Definition: mult_Wilson_t_dirac_openacc-inc.h:29
IDX2_G_I
#define IDX2_G_I(ic1, ic2, ist)
Definition: define_index.h:52
v2_33
v2_33
Definition: mult_Wilson_t_dirac_openacc-inc.h:74
MULT_GXi
#define MULT_GXi(u0, u1, u2, u3, u4, u5, v0, v1, v2, v3, v4, v5)
Definition: afield_Gauge_openacc-inc.h:17
vt1_4
vt1_4
Definition: mult_Wilson_t_dirac_openacc-inc.h:22
MULT_GDXi
#define MULT_GDXi(u0, u1, u2, u3, u4, u5, v0, v1, v2, v3, v4, v5)
Definition: mult_Wilson_inline_openacc-inc.h:19
u_2
u_2
Definition: mult_Wilson_t_dirac_openacc-inc.h:34
vt2_3
vt2_3
Definition: mult_Wilson_t_dirac_openacc-inc.h:28
u_4
u_4
Definition: mult_Wilson_t_dirac_openacc-inc.h:36
isn
isn
Definition: mult_Wilson_t_dirac_openacc-inc.h:15
u_8
u_8
Definition: mult_Wilson_t_dirac_openacc-inc.h:58
idir
idir
Definition: mult_Wilson_t_dirac_openacc-inc.h:10
u17
u17
Definition: mult_Wilson_t_dirac_openacc-inc.h:91
u_3
u_3
Definition: mult_Wilson_t_dirac_openacc-inc.h:35
v2_24
v2_24
Definition: mult_Wilson_t_dirac_openacc-inc.h:75
u_1
u_1
Definition: mult_Wilson_t_dirac_openacc-inc.h:33
v2_03
v2_03
Definition: mult_Wilson_t_dirac_openacc-inc.h:51
nn
nn
Definition: mult_Wilson_t_dirac_openacc-inc.h:11
wt2i
wt2i
Definition: mult_Wilson_t_dirac_openacc-inc.h:45
u13
u13
Definition: mult_Wilson_t_dirac_openacc-inc.h:87
vt1_3
vt1_3
Definition: mult_Wilson_t_dirac_openacc-inc.h:21
u12
u12
Definition: mult_Wilson_t_dirac_openacc-inc.h:86
u16
u16
Definition: mult_Wilson_t_dirac_openacc-inc.h:90
vt1_2
vt1_2
Definition: mult_Wilson_t_dirac_openacc-inc.h:20
it
int it
Definition: mult_Wilson_xyz_openacc-inc.h:461
vt2_5
vt2_5
Definition: mult_Wilson_t_dirac_openacc-inc.h:30
vt1_1
vt1_1
Definition: mult_Wilson_t_dirac_openacc-inc.h:19
ixyz
int ixyz
Definition: mult_Wilson_t_dirac_openacc-inc.h:13
wt1i
wt1i
Definition: mult_Wilson_t_dirac_openacc-inc.h:41
vt1_5
vt1_5
Definition: mult_Wilson_t_dirac_openacc-inc.h:23
v2_44
v2_44
Definition: mult_Wilson_t_dirac_openacc-inc.h:106
v2_12
v2_12
Definition: mult_Wilson_t_dirac_openacc-inc.h:152
v2_23
v2_23
Definition: mult_Wilson_t_dirac_openacc-inc.h:73
isg
isg
Definition: mult_Wilson_t_dirac_openacc-inc.h:16
MULT_GXr
#define MULT_GXr(u0, u1, u2, u3, u4, u5, v0, v1, v2, v3, v4, v5)
Definition: afield_Gauge_openacc-inc.h:16
u15
u15
Definition: mult_Wilson_t_dirac_openacc-inc.h:89
wt1r
wt1r
Definition: mult_Wilson_t_dirac_openacc-inc.h:39
IDX2_SP_R
#define IDX2_SP_R(ic, id, ist)
Definition: define_index.h:31
v2_21
v2_21
Definition: mult_Wilson_t_dirac_openacc-inc.h:171
IDX2_G_R
#define IDX2_G_R(ic1, ic2, ist)
Definition: define_index.h:51
u14
u14
Definition: mult_Wilson_t_dirac_openacc-inc.h:88
MULT_GDXr
#define MULT_GDXr(u0, u1, u2, u3, u4, u5, v0, v1, v2, v3, v4, v5)
Definition: mult_Wilson_inline_openacc-inc.h:18
EXT_IMG_I
#define EXT_IMG_I(v1r, v1i, v2r, v2i, w1r, w1i, w2r, w2i)
Definition: afield_Gauge_openacc-inc.h:20
v2_04
v2_04
Definition: mult_Wilson_t_dirac_openacc-inc.h:53
u10
u10
Definition: mult_Wilson_t_dirac_openacc-inc.h:60
v2_31
v2_31
Definition: mult_Wilson_t_dirac_openacc-inc.h:172
wt2r
wt2r
Definition: mult_Wilson_t_dirac_openacc-inc.h:43
IDX2_SP_I
#define IDX2_SP_I(ic, id, ist)
Definition: define_index.h:32
v2_13
v2_13
Definition: mult_Wilson_t_dirac_openacc-inc.h:52
vt2_2
vt2_2
Definition: mult_Wilson_t_dirac_openacc-inc.h:27
v2_42
v2_42
Definition: mult_Wilson_t_dirac_openacc-inc.h:204
vt2_1
vt2_1
Definition: mult_Wilson_t_dirac_openacc-inc.h:26