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