xref: /phasta/phSolver/compressible/e3bdg_nd.f (revision 595995161822a203c8467e0e4a253d7bd7d6df32)
1*59599516SKenneth E. Jansen        subroutine e3bdg_nd (shp, 	   shg,    WdetJ,
2*59599516SKenneth E. Jansen     &		          A1, 	   A2, 	   A3,
3*59599516SKenneth E. Jansen     &                    A0,      bcool,  PTau,
4*59599516SKenneth E. Jansen     &		          u1,      u2,     u3,
5*59599516SKenneth E. Jansen     &			  BDiagl,
6*59599516SKenneth E. Jansen     &                    rmu,     rlm2mu, con)
7*59599516SKenneth E. Jansen        include "common.h"
8*59599516SKenneth E. Jansen
9*59599516SKenneth E. Jansenc
10*59599516SKenneth E. Jansenc  passed arrays
11*59599516SKenneth E. Jansenc
12*59599516SKenneth E. Jansen        dimension BDiagl(npro,nshl,nflow,nflow),
13*59599516SKenneth E. Jansen     &            shp(npro,nshl),          bcool(npro),
14*59599516SKenneth E. Jansen     &            shg(npro,nshl,nsd),      WdetJ(npro),
15*59599516SKenneth E. Jansen     &            A1tauA0(npro,nflow,nflow), A2tauA0(npro,nflow,nflow),
16*59599516SKenneth E. Jansen     &            A3tauA0(npro,nflow,nflow), Atau1(npro,nflow,nflow),
17*59599516SKenneth E. Jansen     &            A1(npro,nflow,nflow),      A2(npro,nflow,nflow),
18*59599516SKenneth E. Jansen     &            A3(npro,nflow,nflow),      A0(npro,nflow,nflow),
19*59599516SKenneth E. Jansen     &            PTau(npro,5,5),             u1(npro),
20*59599516SKenneth E. Jansen     &            u2(npro),                u3(npro),
21*59599516SKenneth E. Jansen     &            rlm2mu(npro),            Atau2(npro,nflow,nflow),
22*59599516SKenneth E. Jansen     &            rmu(npro),               con(npro),
23*59599516SKenneth E. Jansen     &            Atau3(npro,nflow,nflow)
24*59599516SKenneth E. Jansenc
25*59599516SKenneth E. Jansenc
26*59599516SKenneth E. Jansenc  passed work arrays for local variables
27*59599516SKenneth E. Jansenc
28*59599516SKenneth E. Jansen	dimension tmp1(npro),             tmp2(npro)
29*59599516SKenneth E. Jansen	dimension tmp(npro)
30*59599516SKenneth E. Jansen
31*59599516SKenneth E. Jansen	ttim(30) = ttim(30) - secs(0.0)
32*59599516SKenneth E. Jansen
33*59599516SKenneth E. Jansenc $$ Ex-E3conv
34*59599516SKenneth E. Jansenc
35*59599516SKenneth E. Jansenc.... calculate the contribution in non-integrated by part form
36*59599516SKenneth E. Jansenc.... add (N_b A_tilde_i N_b,i) to BDiagl
37*59599516SKenneth E. Jansenc
38*59599516SKenneth E. Jansen       do j = 1, nshl   ! May be worth eliminating zeros in A(prim) matrices
39*59599516SKenneth E. Jansen        tmp=shp(:,j)*WdetJ
40*59599516SKenneth E. Jansen            BDiagl(:,j,1,1) = BDiagl(:,j,1,1)
41*59599516SKenneth E. Jansen     &                          + tmp * (
42*59599516SKenneth E. Jansen     &                                   shg(:,j,1) * A1(:,1,1) +
43*59599516SKenneth E. Jansen     &                                   shg(:,j,2) * A2(:,1,1) +
44*59599516SKenneth E. Jansen     &                                   shg(:,j,3) * A3(:,1,1)
45*59599516SKenneth E. Jansen     &                                                            )
46*59599516SKenneth E. Jansen            BDiagl(:,j,1,2) = BDiagl(:,j,1,2)
47*59599516SKenneth E. Jansen     &                          + tmp * (
48*59599516SKenneth E. Jansen     &                                   shg(:,j,1) * A1(:,1,2)
49*59599516SKenneth E. Jansenc    &                                  +shg(:,j,2) * A2(:,1,2)
50*59599516SKenneth E. Jansenc    &                                  +shg(:,j,3) * A3(:,1,2)
51*59599516SKenneth E. Jansen     &                                                            )
52*59599516SKenneth E. Jansen            BDiagl(:,j,1,3) = BDiagl(:,j,1,3)
53*59599516SKenneth E. Jansen     &                          + tmp * (
54*59599516SKenneth E. Jansenc    &                                   shg(:,j,1) * A1(:,1,3)
55*59599516SKenneth E. Jansen     &                                  +shg(:,j,2) * A2(:,1,3)
56*59599516SKenneth E. Jansenc    &                                  +shg(:,j,3) * A3(:,1,3)
57*59599516SKenneth E. Jansen     &                                                            )
58*59599516SKenneth E. Jansen            BDiagl(:,j,1,4) = BDiagl(:,j,1,4)
59*59599516SKenneth E. Jansen     &                          + tmp * (
60*59599516SKenneth E. Jansenc    &                                   shg(:,j,1) * A1(:,1,4) +
61*59599516SKenneth E. Jansenc    &                                   shg(:,j,2) * A2(:,1,4) +
62*59599516SKenneth E. Jansen     &                                   shg(:,j,3) * A3(:,1,4)
63*59599516SKenneth E. Jansen     &                                                            )
64*59599516SKenneth E. Jansen            BDiagl(:,j,1,5) = BDiagl(:,j,1,5)
65*59599516SKenneth E. Jansen     &                          + tmp * (
66*59599516SKenneth E. Jansen     &                                   shg(:,j,1) * A1(:,1,5) +
67*59599516SKenneth E. Jansen     &                                   shg(:,j,2) * A2(:,1,5) +
68*59599516SKenneth E. Jansen     &                                   shg(:,j,3) * A3(:,1,5)
69*59599516SKenneth E. Jansen     &                                                            )
70*59599516SKenneth E. Jansen            BDiagl(:,j,2,1) = BDiagl(:,j,2,1)
71*59599516SKenneth E. Jansen     &                          + tmp * (
72*59599516SKenneth E. Jansen     &                                   shg(:,j,1) * A1(:,2,1) +
73*59599516SKenneth E. Jansen     &                                   shg(:,j,2) * A2(:,2,1) +
74*59599516SKenneth E. Jansen     &                                   shg(:,j,3) * A3(:,2,1)
75*59599516SKenneth E. Jansen     &                                                            )
76*59599516SKenneth E. Jansen            BDiagl(:,j,2,2) = BDiagl(:,j,2,2)
77*59599516SKenneth E. Jansen     &                          + tmp * (
78*59599516SKenneth E. Jansen     &                                   shg(:,j,1) * A1(:,2,2) +
79*59599516SKenneth E. Jansen     &                                   shg(:,j,2) * A2(:,2,2) +
80*59599516SKenneth E. Jansen     &                                   shg(:,j,3) * A3(:,2,2)
81*59599516SKenneth E. Jansen     &                                                            )
82*59599516SKenneth E. Jansen            BDiagl(:,j,2,3) = BDiagl(:,j,2,3)
83*59599516SKenneth E. Jansen     &                          + tmp * (
84*59599516SKenneth E. Jansenc    &                                   shg(:,j,1) * A1(:,2,3)
85*59599516SKenneth E. Jansen     &                                  +shg(:,j,2) * A2(:,2,3)
86*59599516SKenneth E. Jansenc    &                                  +shg(:,j,3) * A3(:,2,3)
87*59599516SKenneth E. Jansen     &                                                            )
88*59599516SKenneth E. Jansen            BDiagl(:,j,2,4) = BDiagl(:,j,2,4)
89*59599516SKenneth E. Jansen     &                          + tmp * (
90*59599516SKenneth E. Jansenc    &                                   shg(:,j,1) * A1(:,2,4) +
91*59599516SKenneth E. Jansenc    &                                   shg(:,j,2) * A2(:,2,4) +
92*59599516SKenneth E. Jansen     &                                   shg(:,j,3) * A3(:,2,4)
93*59599516SKenneth E. Jansen     &                                                            )
94*59599516SKenneth E. Jansen            BDiagl(:,j,2,5) = BDiagl(:,j,2,5)
95*59599516SKenneth E. Jansen     &                          + tmp * (
96*59599516SKenneth E. Jansen     &                                   shg(:,j,1) * A1(:,2,5) +
97*59599516SKenneth E. Jansen     &                                   shg(:,j,2) * A2(:,2,5) +
98*59599516SKenneth E. Jansen     &                                   shg(:,j,3) * A3(:,2,5)
99*59599516SKenneth E. Jansen     &                                                            )
100*59599516SKenneth E. Jansen            BDiagl(:,j,3,1) = BDiagl(:,j,3,1)
101*59599516SKenneth E. Jansen     &                          + tmp * (
102*59599516SKenneth E. Jansen     &                                   shg(:,j,1) * A1(:,3,1) +
103*59599516SKenneth E. Jansen     &                                   shg(:,j,2) * A2(:,3,1) +
104*59599516SKenneth E. Jansen     &                                   shg(:,j,3) * A3(:,3,1)
105*59599516SKenneth E. Jansen     &                                                            )
106*59599516SKenneth E. Jansen            BDiagl(:,j,3,2) = BDiagl(:,j,3,2)
107*59599516SKenneth E. Jansen     &                          + tmp * (
108*59599516SKenneth E. Jansen     &                                   shg(:,j,1) * A1(:,3,2)
109*59599516SKenneth E. Jansenc    &                                  +shg(:,j,2) * A2(:,3,2)
110*59599516SKenneth E. Jansenc    &                                  +shg(:,j,3) * A3(:,3,2)
111*59599516SKenneth E. Jansen     &                                                            )
112*59599516SKenneth E. Jansen            BDiagl(:,j,3,3) = BDiagl(:,j,3,3)
113*59599516SKenneth E. Jansen     &                          + tmp * (
114*59599516SKenneth E. Jansen     &                                   shg(:,j,1) * A1(:,3,3) +
115*59599516SKenneth E. Jansen     &                                   shg(:,j,2) * A2(:,3,3) +
116*59599516SKenneth E. Jansen     &                                   shg(:,j,3) * A3(:,3,3)
117*59599516SKenneth E. Jansen     &                                                            )
118*59599516SKenneth E. Jansen            BDiagl(:,j,3,4) = BDiagl(:,j,3,4)
119*59599516SKenneth E. Jansen     &                          + tmp * (
120*59599516SKenneth E. Jansenc    &                                   shg(:,j,1) * A1(:,3,4) +
121*59599516SKenneth E. Jansenc    &                                   shg(:,j,2) * A2(:,3,4) +
122*59599516SKenneth E. Jansen     &                                   shg(:,j,3) * A3(:,3,4)
123*59599516SKenneth E. Jansen     &                                                            )
124*59599516SKenneth E. Jansen            BDiagl(:,j,3,5) = BDiagl(:,j,3,5)
125*59599516SKenneth E. Jansen     &                          + tmp * (
126*59599516SKenneth E. Jansen     &                                   shg(:,j,1) * A1(:,3,5) +
127*59599516SKenneth E. Jansen     &                                   shg(:,j,2) * A2(:,3,5) +
128*59599516SKenneth E. Jansen     &                                   shg(:,j,3) * A3(:,3,5)
129*59599516SKenneth E. Jansen     &                                                            )
130*59599516SKenneth E. Jansen            BDiagl(:,j,4,1) = BDiagl(:,j,4,1)
131*59599516SKenneth E. Jansen     &                          + tmp * (
132*59599516SKenneth E. Jansen     &                                   shg(:,j,1) * A1(:,4,1) +
133*59599516SKenneth E. Jansen     &                                   shg(:,j,2) * A2(:,4,1) +
134*59599516SKenneth E. Jansen     &                                   shg(:,j,3) * A3(:,4,1)
135*59599516SKenneth E. Jansen     &                                                            )
136*59599516SKenneth E. Jansen            BDiagl(:,j,4,2) = BDiagl(:,j,4,2)
137*59599516SKenneth E. Jansen     &                          + tmp * (
138*59599516SKenneth E. Jansen     &                                   shg(:,j,1) * A1(:,4,2)
139*59599516SKenneth E. Jansenc    &                                  +shg(:,j,2) * A2(:,4,2)
140*59599516SKenneth E. Jansenc    &                                  +shg(:,j,3) * A3(:,4,2)
141*59599516SKenneth E. Jansen     &                                                            )
142*59599516SKenneth E. Jansen            BDiagl(:,j,4,3) = BDiagl(:,j,4,3)
143*59599516SKenneth E. Jansen     &                          + tmp * (
144*59599516SKenneth E. Jansenc    &                                   shg(:,j,1) * A1(:,4,3)
145*59599516SKenneth E. Jansen     &                                  +shg(:,j,2) * A2(:,4,3)
146*59599516SKenneth E. Jansenc    &                                  +shg(:,j,3) * A3(:,4,3)
147*59599516SKenneth E. Jansen     &                                                            )
148*59599516SKenneth E. Jansen            BDiagl(:,j,4,4) = BDiagl(:,j,4,4)
149*59599516SKenneth E. Jansen     &                          + tmp * (
150*59599516SKenneth E. Jansen     &                                   shg(:,j,1) * A1(:,4,4) +
151*59599516SKenneth E. Jansen     &                                   shg(:,j,2) * A2(:,4,4) +
152*59599516SKenneth E. Jansen     &                                   shg(:,j,3) * A3(:,4,4)
153*59599516SKenneth E. Jansen     &                                                            )
154*59599516SKenneth E. Jansen            BDiagl(:,j,4,5) = BDiagl(:,j,4,5)
155*59599516SKenneth E. Jansen     &                          + tmp * (
156*59599516SKenneth E. Jansen     &                                   shg(:,j,1) * A1(:,4,5) +
157*59599516SKenneth E. Jansen     &                                   shg(:,j,2) * A2(:,4,5) +
158*59599516SKenneth E. Jansen     &                                   shg(:,j,3) * A3(:,4,5)
159*59599516SKenneth E. Jansen     &                                                            )
160*59599516SKenneth E. Jansen            BDiagl(:,j,5,1) = BDiagl(:,j,5,1)
161*59599516SKenneth E. Jansen     &                          + tmp * (
162*59599516SKenneth E. Jansen     &                                   shg(:,j,1) * A1(:,5,1) +
163*59599516SKenneth E. Jansen     &                                   shg(:,j,2) * A2(:,5,1) +
164*59599516SKenneth E. Jansen     &                                   shg(:,j,3) * A3(:,5,1)
165*59599516SKenneth E. Jansen     &                                                            )
166*59599516SKenneth E. Jansen            BDiagl(:,j,5,2) = BDiagl(:,j,5,2)
167*59599516SKenneth E. Jansen     &                          + tmp * (
168*59599516SKenneth E. Jansen     &                                   shg(:,j,1) * A1(:,5,2) +
169*59599516SKenneth E. Jansen     &                                   shg(:,j,2) * A2(:,5,2) +
170*59599516SKenneth E. Jansen     &                                   shg(:,j,3) * A3(:,5,2)
171*59599516SKenneth E. Jansen     &                                                            )
172*59599516SKenneth E. Jansen            BDiagl(:,j,5,3) = BDiagl(:,j,5,3)
173*59599516SKenneth E. Jansen     &                          + tmp * (
174*59599516SKenneth E. Jansen     &                                   shg(:,j,1) * A1(:,5,3) +
175*59599516SKenneth E. Jansen     &                                   shg(:,j,2) * A2(:,5,3) +
176*59599516SKenneth E. Jansen     &                                   shg(:,j,3) * A3(:,5,3)
177*59599516SKenneth E. Jansen     &                                                            )
178*59599516SKenneth E. Jansen            BDiagl(:,j,5,4) = BDiagl(:,j,5,4)
179*59599516SKenneth E. Jansen     &                          + tmp * (
180*59599516SKenneth E. Jansen     &                                   shg(:,j,1) * A1(:,5,4) +
181*59599516SKenneth E. Jansen     &                                   shg(:,j,2) * A2(:,5,4) +
182*59599516SKenneth E. Jansen     &                                   shg(:,j,3) * A3(:,5,4)
183*59599516SKenneth E. Jansen     &                                                            )
184*59599516SKenneth E. Jansen            BDiagl(:,j,5,5) = BDiagl(:,j,5,5)
185*59599516SKenneth E. Jansen     &                          + tmp * (
186*59599516SKenneth E. Jansen     &                                   shg(:,j,1) * A1(:,5,5) +
187*59599516SKenneth E. Jansen     &                                   shg(:,j,2) * A2(:,5,5) +
188*59599516SKenneth E. Jansen     &                                   shg(:,j,3) * A3(:,5,5)
189*59599516SKenneth E. Jansen     &                                                            )
190*59599516SKenneth E. Jansen       enddo
191*59599516SKenneth E. Jansen        if (ngauss .eq. 1 .and. nshl .eq. 4) then  ! Exact integ of mass term for tets
192*59599516SKenneth E. Jansen
193*59599516SKenneth E. Jansenc $$ Ex-e3mael
194*59599516SKenneth E. Jansenc
195*59599516SKenneth E. Jansenc.... calculate factor   V             * sum(column of M)
196*59599516SKenneth E. Jansenc                     =WdetJ/(3/4)Qwt(lcsyst,intp) * (2+1+1+1)/20
197*59599516SKenneth E. Jansenc
198*59599516SKenneth E. Jansen	tmp =  0.4d0 * WdetJ * Dtgl/Qwt(lcsyst,intp)/three*almi/gami/alfi
199*59599516SKenneth E. Jansenc
200*59599516SKenneth E. Jansen        do j=1,nshl  ! take advantage of zeros in A0(Prim)
201*59599516SKenneth E. Jansen	  BDiagl(:,j,2,2) = BDiagl(:,j,2,2) + tmp * A0(:,2,2)
202*59599516SKenneth E. Jansen	  BDiagl(:,j,3,3) = BDiagl(:,j,3,3) + tmp * A0(:,3,3)
203*59599516SKenneth E. Jansen	  BDiagl(:,j,4,4) = BDiagl(:,j,4,4) + tmp * A0(:,4,4)
204*59599516SKenneth E. Jansen	  BDiagl(:,j,1,5) = BDiagl(:,j,1,5) + tmp * A0(:,1,5)
205*59599516SKenneth E. Jansen	  BDiagl(:,j,2,5) = BDiagl(:,j,2,5) + tmp * A0(:,2,5)
206*59599516SKenneth E. Jansen	  BDiagl(:,j,3,5) = BDiagl(:,j,3,5) + tmp * A0(:,3,5)
207*59599516SKenneth E. Jansen	  BDiagl(:,j,4,5) = BDiagl(:,j,4,5) + tmp * A0(:,4,5)
208*59599516SKenneth E. Jansen	  BDiagl(:,j,1,1) = BDiagl(:,j,1,1) + tmp * A0(:,1,1)
209*59599516SKenneth E. Jansen	  BDiagl(:,j,2,1) = BDiagl(:,j,2,1) + tmp * A0(:,2,1)
210*59599516SKenneth E. Jansen	  BDiagl(:,j,3,1) = BDiagl(:,j,3,1) + tmp * A0(:,3,1)
211*59599516SKenneth E. Jansen	  BDiagl(:,j,4,1) = BDiagl(:,j,4,1) + tmp * A0(:,4,1)
212*59599516SKenneth E. Jansen	  BDiagl(:,j,5,1) = BDiagl(:,j,5,1) + tmp * A0(:,5,1)
213*59599516SKenneth E. Jansen	  BDiagl(:,j,5,2) = BDiagl(:,j,5,2) + tmp * A0(:,5,2)
214*59599516SKenneth E. Jansen	  BDiagl(:,j,5,3) = BDiagl(:,j,5,3) + tmp * A0(:,5,3)
215*59599516SKenneth E. Jansen	  BDiagl(:,j,5,4) = BDiagl(:,j,5,4) + tmp * A0(:,5,4)
216*59599516SKenneth E. Jansen	  BDiagl(:,j,5,5) = BDiagl(:,j,5,5) + tmp * A0(:,5,5)
217*59599516SKenneth E. Jansen	enddo
218*59599516SKenneth E. Jansen
219*59599516SKenneth E. Jansen        else
220*59599516SKenneth E. Jansen
221*59599516SKenneth E. Jansenc $$ Ex-e3mass
222*59599516SKenneth E. Jansenc
223*59599516SKenneth E. Jansen        ff = almi / gami / alfi
224*59599516SKenneth E. Jansen        tmp = WdetJ * (Dtgl * ff + bcool)
225*59599516SKenneth E. Jansenc
226*59599516SKenneth E. Jansen        do j = 1, nshl
227*59599516SKenneth E. Jansenc
228*59599516SKenneth E. Jansen          tmp2 = (shp(:,j)*shp(:,j)) * tmp
229*59599516SKenneth E. Jansenc
230*59599516SKenneth E. Jansen	  BDiagl(:,j,2,2) = BDiagl(:,j,2,2) + tmp2 * A0(:,2,2)
231*59599516SKenneth E. Jansen	  BDiagl(:,j,3,3) = BDiagl(:,j,3,3) + tmp2 * A0(:,3,3)
232*59599516SKenneth E. Jansen	  BDiagl(:,j,4,4) = BDiagl(:,j,4,4) + tmp2 * A0(:,4,4)
233*59599516SKenneth E. Jansen	  BDiagl(:,j,1,5) = BDiagl(:,j,1,5) + tmp2 * A0(:,1,5)
234*59599516SKenneth E. Jansen	  BDiagl(:,j,2,5) = BDiagl(:,j,2,5) + tmp2 * A0(:,2,5)
235*59599516SKenneth E. Jansen	  BDiagl(:,j,3,5) = BDiagl(:,j,3,5) + tmp2 * A0(:,3,5)
236*59599516SKenneth E. Jansen	  BDiagl(:,j,4,5) = BDiagl(:,j,4,5) + tmp2 * A0(:,4,5)
237*59599516SKenneth E. Jansen	  BDiagl(:,j,1,1) = BDiagl(:,j,1,1) + tmp2 * A0(:,1,1)
238*59599516SKenneth E. Jansen	  BDiagl(:,j,2,1) = BDiagl(:,j,2,1) + tmp2 * A0(:,2,1)
239*59599516SKenneth E. Jansen	  BDiagl(:,j,3,1) = BDiagl(:,j,3,1) + tmp2 * A0(:,3,1)
240*59599516SKenneth E. Jansen	  BDiagl(:,j,4,1) = BDiagl(:,j,4,1) + tmp2 * A0(:,4,1)
241*59599516SKenneth E. Jansen	  BDiagl(:,j,5,1) = BDiagl(:,j,5,1) + tmp2 * A0(:,5,1)
242*59599516SKenneth E. Jansen	  BDiagl(:,j,5,2) = BDiagl(:,j,5,2) + tmp2 * A0(:,5,2)
243*59599516SKenneth E. Jansen	  BDiagl(:,j,5,3) = BDiagl(:,j,5,3) + tmp2 * A0(:,5,3)
244*59599516SKenneth E. Jansen	  BDiagl(:,j,5,4) = BDiagl(:,j,5,4) + tmp2 * A0(:,5,4)
245*59599516SKenneth E. Jansen	  BDiagl(:,j,5,5) = BDiagl(:,j,5,5) + tmp2 * A0(:,5,5)
246*59599516SKenneth E. Jansenc
247*59599516SKenneth E. Jansen        enddo
248*59599516SKenneth E. Jansen
249*59599516SKenneth E. Jansen        endif
250*59599516SKenneth E. Jansen
251*59599516SKenneth E. Jansenc
252*59599516SKenneth E. Jansenc.... calculate (Atau) <-- (A_1 tau) (Recall that we are using a
253*59599516SKenneth E. Jansenc                                     non-diagonal tau here)
254*59599516SKenneth E. Jansenc
255*59599516SKenneth E. Jansen        if (ivart .ge. 2) then
256*59599516SKenneth E. Jansen           Atau1 = zero
257*59599516SKenneth E. Jansen           do i = 1, nflow
258*59599516SKenneth E. Jansen              do j = 1, nflow
259*59599516SKenneth E. Jansen                 do k = 1, nflow
260*59599516SKenneth E. Jansen                    Atau1(:,i,j) = Atau1(:,i,j) + A1(:,i,k)*PTau(:,k,j)
261*59599516SKenneth E. Jansen                 enddo
262*59599516SKenneth E. Jansen              enddo
263*59599516SKenneth E. Jansen           enddo
264*59599516SKenneth E. Jansenc
265*59599516SKenneth E. Jansenc.... calculate (A_1 tau A_0) (for L.S. time term of EGmass)
266*59599516SKenneth E. Jansenc
267*59599516SKenneth E. Jansen           do j = 1, nflow
268*59599516SKenneth E. Jansen              do i = 1, nflow
269*59599516SKenneth E. Jansen                 A1tauA0(:,i,j) =
270*59599516SKenneth E. Jansen     &                Atau1(:,i,1)*A0(:,1,j) +
271*59599516SKenneth E. Jansen     &                Atau1(:,i,2)*A0(:,2,j) +
272*59599516SKenneth E. Jansen     &                Atau1(:,i,3)*A0(:,3,j) +
273*59599516SKenneth E. Jansen     &                Atau1(:,i,4)*A0(:,4,j) +
274*59599516SKenneth E. Jansen     &                Atau1(:,i,5)*A0(:,5,j)
275*59599516SKenneth E. Jansen              enddo
276*59599516SKenneth E. Jansen           enddo
277*59599516SKenneth E. Jansenc
278*59599516SKenneth E. Jansenc.... calculate (Atau) <-- (A_2 tau) (Recall that we are using a
279*59599516SKenneth E. Jansenc     non-diagonal tau here)
280*59599516SKenneth E. Jansenc
281*59599516SKenneth E. Jansen           Atau2 = zero
282*59599516SKenneth E. Jansen           do i = 1, nflow
283*59599516SKenneth E. Jansen              do j = 1, nflow
284*59599516SKenneth E. Jansen                 do k = 1, nflow
285*59599516SKenneth E. Jansen                    Atau2(:,i,j) = Atau2(:,i,j) + A2(:,i,k)*PTau(:,k,j)
286*59599516SKenneth E. Jansen                 enddo
287*59599516SKenneth E. Jansen              enddo
288*59599516SKenneth E. Jansen           enddo
289*59599516SKenneth E. Jansen
290*59599516SKenneth E. Jansenc
291*59599516SKenneth E. Jansenc.... calculate (A_2 tau A_0) (for L.S. time term of EGmass)
292*59599516SKenneth E. Jansenc
293*59599516SKenneth E. Jansen           do j = 1, nflow
294*59599516SKenneth E. Jansen              do i = 1, nflow
295*59599516SKenneth E. Jansen                 A2tauA0(:,i,j) =
296*59599516SKenneth E. Jansen     &                Atau2(:,i,1)*A0(:,1,j) +
297*59599516SKenneth E. Jansen     &                Atau2(:,i,2)*A0(:,2,j) +
298*59599516SKenneth E. Jansen     &                Atau2(:,i,3)*A0(:,3,j) +
299*59599516SKenneth E. Jansen     &                Atau2(:,i,4)*A0(:,4,j) +
300*59599516SKenneth E. Jansen     &                Atau2(:,i,5)*A0(:,5,j)
301*59599516SKenneth E. Jansen              enddo
302*59599516SKenneth E. Jansen           enddo
303*59599516SKenneth E. Jansenc
304*59599516SKenneth E. Jansenc.... calculate (Atau) <-- (A_3 tau) (Recall that we are using a
305*59599516SKenneth E. Jansenc                                     non-diagonal tau here)
306*59599516SKenneth E. Jansen
307*59599516SKenneth E. Jansen          Atau3 = zero
308*59599516SKenneth E. Jansen          do i = 1, nflow
309*59599516SKenneth E. Jansen             do j = 1, nflow
310*59599516SKenneth E. Jansen                do k = 1, nflow
311*59599516SKenneth E. Jansen                   Atau3(:,i,j) = Atau3(:,i,j) +  A3(:,i,k)*PTau(:,k,j)
312*59599516SKenneth E. Jansen                enddo
313*59599516SKenneth E. Jansen             enddo
314*59599516SKenneth E. Jansen          enddo
315*59599516SKenneth E. Jansen
316*59599516SKenneth E. Jansen
317*59599516SKenneth E. Jansenc
318*59599516SKenneth E. Jansenc.... calculate (A_3 tau A_0) (for L.S. time term of EGmass)
319*59599516SKenneth E. Jansenc
320*59599516SKenneth E. Jansen          do j = 1, nflow
321*59599516SKenneth E. Jansen             do i = 1, nflow
322*59599516SKenneth E. Jansen                A3tauA0(:,i,j) =
323*59599516SKenneth E. Jansen     &               Atau3(:,i,1)*A0(:,1,j) +
324*59599516SKenneth E. Jansen     &               Atau3(:,i,2)*A0(:,2,j) +
325*59599516SKenneth E. Jansen     &               Atau3(:,i,3)*A0(:,3,j) +
326*59599516SKenneth E. Jansen     &               Atau3(:,i,4)*A0(:,4,j) +
327*59599516SKenneth E. Jansen     &               Atau3(:,i,5)*A0(:,5,j)
328*59599516SKenneth E. Jansen             enddo
329*59599516SKenneth E. Jansen          enddo
330*59599516SKenneth E. Jansenc
331*59599516SKenneth E. Jansenc
332*59599516SKenneth E. Jansenc.... add least squares time term to BDiagl
333*59599516SKenneth E. Jansenc
334*59599516SKenneth E. Jansenc
335*59599516SKenneth E. Jansenc.... loop through rows (nodes i)
336*59599516SKenneth E. Jansenc
337*59599516SKenneth E. Jansen          do i = 1, nshl
338*59599516SKenneth E. Jansenc
339*59599516SKenneth E. Jansenc.... loop through column nodes, add (N_a,i A_i tau N_b) to BDiagl
340*59599516SKenneth E. Jansenc
341*59599516SKenneth E. Jansen             tmp1 = shp(:,i) * WdetJ * almi/gami/alfi*dtgl
342*59599516SKenneth E. Jansen             do idof = 1, nflow
343*59599516SKenneth E. Jansen                do jdof = 1, nflow
344*59599516SKenneth E. Jansen                   BDiagl(:,i,idof,jdof) = BDiagl(:,i,idof,jdof)
345*59599516SKenneth E. Jansen     &                  + tmp1*(
346*59599516SKenneth E. Jansen     &                  shg(:,i,1) * A1tauA0(:,idof,jdof) +
347*59599516SKenneth E. Jansen     &                  shg(:,i,2) * A2tauA0(:,idof,jdof) +
348*59599516SKenneth E. Jansen     &                  shg(:,i,3) * A3tauA0(:,idof,jdof))
349*59599516SKenneth E. Jansen                enddo
350*59599516SKenneth E. Jansen             enddo
351*59599516SKenneth E. Jansen          enddo
352*59599516SKenneth E. Jansen       endif
353*59599516SKenneth E. Jansenc
354*59599516SKenneth E. Jansenc.... add contribution of stiffness to BDiagl
355*59599516SKenneth E. Jansenc
356*59599516SKenneth E. Jansenc....  we no longer build stiff so we have to get it in here.
357*59599516SKenneth E. Jansenc      recall that this is the (A_i tau A_j + K_{ij}) that
358*59599516SKenneth E. Jansenc      multiplies N_{a,i} N_{b,j} (Actually for BDiag a=b).
359*59599516SKenneth E. Jansenc
360*59599516SKenneth E. Jansenc...   we are through with A0 so use it now for the sub-blocks
361*59599516SKenneth E. Jansenc      of what used to be stiff
362*59599516SKenneth E. Jansenc
363*59599516SKenneth E. Jansenc
364*59599516SKenneth E. Jansen
365*59599516SKenneth E. Jansenc
366*59599516SKenneth E. Jansenc  start with 1 1 contribution
367*59599516SKenneth E. Jansenc
368*59599516SKenneth E. Jansenc
369*59599516SKenneth E. Jansenc  Note that I comment out lines where zeros appear (for Pvariables)
370*59599516SKenneth E. Jansenc
371*59599516SKenneth E. Jansen       if(ivart .ge. 2) then
372*59599516SKenneth E. Jansenc
373*59599516SKenneth E. Jansenc  row one
374*59599516SKenneth E. Jansenc
375*59599516SKenneth E. Jansen          A0(:,1,1) =
376*59599516SKenneth E. Jansen     &             Atau1(:,1,1) * A1(:,1,1)
377*59599516SKenneth E. Jansen     &            + Atau1(:,1,2) * A1(:,2,1)
378*59599516SKenneth E. Jansen     &            + Atau1(:,1,3) * A1(:,3,1)
379*59599516SKenneth E. Jansen     &            + Atau1(:,1,4) * A1(:,4,1)
380*59599516SKenneth E. Jansen     &            + Atau1(:,1,5) * A1(:,5,1)
381*59599516SKenneth E. Jansenc
382*59599516SKenneth E. Jansen          A0(:,1,2) =
383*59599516SKenneth E. Jansen     &             Atau1(:,1,1) * A1(:,1,2)
384*59599516SKenneth E. Jansen     &            + Atau1(:,1,2) * A1(:,2,2)
385*59599516SKenneth E. Jansen     &            + Atau1(:,1,3) * A1(:,3,2)
386*59599516SKenneth E. Jansen     &            + Atau1(:,1,4) * A1(:,4,2)
387*59599516SKenneth E. Jansen     &            + Atau1(:,1,5) * A1(:,5,2)
388*59599516SKenneth E. Jansenc
389*59599516SKenneth E. Jansen          A0(:,1,3) =
390*59599516SKenneth E. Jansenc    &             Atau1(:,1,1) * A1(:,1,3)
391*59599516SKenneth E. Jansenc    &             + Atau1(:,1,2) * A1(:,2,3)
392*59599516SKenneth E. Jansen     &            Atau1(:,1,3) * A1(:,3,3)
393*59599516SKenneth E. Jansenc    &             + Atau1(:,1,4) * A1(:,4,3)
394*59599516SKenneth E. Jansen     &            + Atau1(:,1,5) * A1(:,5,3)
395*59599516SKenneth E. Jansenc
396*59599516SKenneth E. Jansen          A0(:,1,4)=
397*59599516SKenneth E. Jansenc    &             Atau1(:,1,1) * A1(:,1,4)
398*59599516SKenneth E. Jansenc    &             + Atau1(:,1,2) * A1(:,2,4)
399*59599516SKenneth E. Jansenc    &             + Atau1(:,1,3) * A1(:,3,4)
400*59599516SKenneth E. Jansen     &             Atau1(:,1,4) * A1(:,4,4)
401*59599516SKenneth E. Jansen     &             + Atau1(:,1,5) * A1(:,5,4)
402*59599516SKenneth E. Jansenc
403*59599516SKenneth E. Jansen          A0(:,1,5)=
404*59599516SKenneth E. Jansen     &             Atau1(:,1,1) * A1(:,1,5)
405*59599516SKenneth E. Jansen     &             + Atau1(:,1,2) * A1(:,2,5)
406*59599516SKenneth E. Jansen     &             + Atau1(:,1,3) * A1(:,3,5)
407*59599516SKenneth E. Jansen     &             + Atau1(:,1,4) * A1(:,4,5)
408*59599516SKenneth E. Jansen     &             + Atau1(:,1,5) * A1(:,5,5)
409*59599516SKenneth E. Jansenc
410*59599516SKenneth E. Jansenc  row two
411*59599516SKenneth E. Jansenc
412*59599516SKenneth E. Jansen          A0(:,2,1)=
413*59599516SKenneth E. Jansen     &             Atau1(:,2,1) * A1(:,1,1)
414*59599516SKenneth E. Jansen     &             + Atau1(:,2,2) * A1(:,2,1)
415*59599516SKenneth E. Jansen     &             + Atau1(:,2,3) * A1(:,3,1)
416*59599516SKenneth E. Jansen     &             + Atau1(:,2,4) * A1(:,4,1)
417*59599516SKenneth E. Jansen     &             + Atau1(:,2,5) * A1(:,5,1)
418*59599516SKenneth E. Jansenc
419*59599516SKenneth E. Jansen          A0(:,2,2)=
420*59599516SKenneth E. Jansen     &             Atau1(:,2,1) * A1(:,1,2)
421*59599516SKenneth E. Jansen     &             + Atau1(:,2,2) * A1(:,2,2)
422*59599516SKenneth E. Jansen     &             + Atau1(:,2,3) * A1(:,3,2)
423*59599516SKenneth E. Jansen     &             + Atau1(:,2,4) * A1(:,4,2)
424*59599516SKenneth E. Jansen     &             + Atau1(:,2,5) * A1(:,5,2)
425*59599516SKenneth E. Jansenc
426*59599516SKenneth E. Jansen          A0(:,2,3)=
427*59599516SKenneth E. Jansenc    &             Atau1(:,2,1) * A1(:,1,3)
428*59599516SKenneth E. Jansenc    &             + Atau1(:,2,2) * A1(:,2,3)
429*59599516SKenneth E. Jansen     &             Atau1(:,2,3) * A1(:,3,3)
430*59599516SKenneth E. Jansenc    &             + Atau1(:,2,4) * A1(:,4,3)
431*59599516SKenneth E. Jansen     &             + Atau1(:,2,5) * A1(:,5,3)
432*59599516SKenneth E. Jansenc
433*59599516SKenneth E. Jansen          A0(:,2,4)=
434*59599516SKenneth E. Jansenc    &             Atau1(:,2,1) * A1(:,1,4)
435*59599516SKenneth E. Jansenc    &             + Atau1(:,2,2) * A1(:,2,4)
436*59599516SKenneth E. Jansenc    &             + Atau1(:,2,3) * A1(:,3,4)
437*59599516SKenneth E. Jansen     &             Atau1(:,2,4) * A1(:,4,4)
438*59599516SKenneth E. Jansen     &             + Atau1(:,2,5) * A1(:,5,4)
439*59599516SKenneth E. Jansenc
440*59599516SKenneth E. Jansen          A0(:,2,5)=
441*59599516SKenneth E. Jansen     &             Atau1(:,2,1) * A1(:,1,5)
442*59599516SKenneth E. Jansen     &             + Atau1(:,2,2) * A1(:,2,5)
443*59599516SKenneth E. Jansen     &             + Atau1(:,2,3) * A1(:,3,5)
444*59599516SKenneth E. Jansen     &             + Atau1(:,2,4) * A1(:,4,5)
445*59599516SKenneth E. Jansen     &             + Atau1(:,2,5) * A1(:,5,5)
446*59599516SKenneth E. Jansenc
447*59599516SKenneth E. Jansenc  row three
448*59599516SKenneth E. Jansenc
449*59599516SKenneth E. Jansen          A0(:,3,1)=
450*59599516SKenneth E. Jansen     &             Atau1(:,3,1) * A1(:,1,1)
451*59599516SKenneth E. Jansen     &             + Atau1(:,3,2) * A1(:,2,1)
452*59599516SKenneth E. Jansen     &             + Atau1(:,3,3) * A1(:,3,1)
453*59599516SKenneth E. Jansen     &             + Atau1(:,3,4) * A1(:,4,1)
454*59599516SKenneth E. Jansen     &             + Atau1(:,3,5) * A1(:,5,1)
455*59599516SKenneth E. Jansenc
456*59599516SKenneth E. Jansen          A0(:,3,2)=
457*59599516SKenneth E. Jansen     &             Atau1(:,3,1) * A1(:,1,2)
458*59599516SKenneth E. Jansen     &             + Atau1(:,3,2) * A1(:,2,2)
459*59599516SKenneth E. Jansen     &             + Atau1(:,3,3) * A1(:,3,2)
460*59599516SKenneth E. Jansen     &             + Atau1(:,3,4) * A1(:,4,2)
461*59599516SKenneth E. Jansen     &             + Atau1(:,3,5) * A1(:,5,2)
462*59599516SKenneth E. Jansenc
463*59599516SKenneth E. Jansen          A0(:,3,3)=
464*59599516SKenneth E. Jansenc    &             Atau1(:,2,1) * A1(:,1,3)
465*59599516SKenneth E. Jansenc    &             + Atau1(:,2,2) * A1(:,2,3)
466*59599516SKenneth E. Jansen     &             Atau1(:,3,3) * A1(:,3,3)
467*59599516SKenneth E. Jansenc    &             + Atau1(:,2,4) * A1(:,4,3)
468*59599516SKenneth E. Jansen     &             + Atau1(:,3,5) * A1(:,5,3)
469*59599516SKenneth E. Jansenc
470*59599516SKenneth E. Jansen          A0(:,3,4)=
471*59599516SKenneth E. Jansenc    &             Atau1(:,2,1) * A1(:,1,4)
472*59599516SKenneth E. Jansenc    &             + Atau1(:,2,2) * A1(:,2,4)
473*59599516SKenneth E. Jansenc    &             + Atau1(:,2,3) * A1(:,3,4)
474*59599516SKenneth E. Jansen     &             Atau1(:,3,4) * A1(:,4,4)
475*59599516SKenneth E. Jansen     &             + Atau1(:,3,5) * A1(:,5,4)
476*59599516SKenneth E. Jansenc
477*59599516SKenneth E. Jansen          A0(:,3,5)=
478*59599516SKenneth E. Jansen     &             Atau1(:,3,1) * A1(:,1,5)
479*59599516SKenneth E. Jansen     &             + Atau1(:,3,2) * A1(:,2,5)
480*59599516SKenneth E. Jansen     &             + Atau1(:,3,3) * A1(:,3,5)
481*59599516SKenneth E. Jansen     &             + Atau1(:,3,4) * A1(:,4,5)
482*59599516SKenneth E. Jansen     &             + Atau1(:,3,5) * A1(:,5,5)
483*59599516SKenneth E. Jansen
484*59599516SKenneth E. Jansenc
485*59599516SKenneth E. Jansenc  row four
486*59599516SKenneth E. Jansenc
487*59599516SKenneth E. Jansen          A0(:,4,1)=
488*59599516SKenneth E. Jansen     &             Atau1(:,4,1) * A1(:,1,1)
489*59599516SKenneth E. Jansen     &             + Atau1(:,4,2) * A1(:,2,1)
490*59599516SKenneth E. Jansen     &             + Atau1(:,4,3) * A1(:,3,1)
491*59599516SKenneth E. Jansen     &             + Atau1(:,4,4) * A1(:,4,1)
492*59599516SKenneth E. Jansen     &             + Atau1(:,4,5) * A1(:,5,1)
493*59599516SKenneth E. Jansenc
494*59599516SKenneth E. Jansen          A0(:,4,2)=
495*59599516SKenneth E. Jansen     &             Atau1(:,4,1) * A1(:,1,2)
496*59599516SKenneth E. Jansen     &             + Atau1(:,4,2) * A1(:,2,2)
497*59599516SKenneth E. Jansen     &             + Atau1(:,4,3) * A1(:,3,2)
498*59599516SKenneth E. Jansen     &             + Atau1(:,4,4) * A1(:,4,2)
499*59599516SKenneth E. Jansen     &             + Atau1(:,4,5) * A1(:,5,2)
500*59599516SKenneth E. Jansenc
501*59599516SKenneth E. Jansen          A0(:,4,3)=
502*59599516SKenneth E. Jansenc    &             Atau1(:,2,1) * A1(:,1,3)
503*59599516SKenneth E. Jansenc    &             + Atau1(:,2,2) * A1(:,2,3)
504*59599516SKenneth E. Jansen     &             Atau1(:,4,3) * A1(:,3,3)
505*59599516SKenneth E. Jansenc    &             + Atau1(:,2,4) * A1(:,4,3)
506*59599516SKenneth E. Jansen     &             + Atau1(:,4,5) * A1(:,5,3)
507*59599516SKenneth E. Jansenc
508*59599516SKenneth E. Jansen          A0(:,4,4)=
509*59599516SKenneth E. Jansenc    &             Atau1(:,2,1) * A1(:,1,4)
510*59599516SKenneth E. Jansenc    &             + Atau1(:,2,2) * A1(:,2,4)
511*59599516SKenneth E. Jansenc    &             + Atau1(:,2,3) * A1(:,3,4)
512*59599516SKenneth E. Jansen     &             Atau1(:,4,4) * A1(:,4,4)
513*59599516SKenneth E. Jansen     &             + Atau1(:,4,5) * A1(:,5,4)
514*59599516SKenneth E. Jansenc
515*59599516SKenneth E. Jansen          A0(:,4,5)=
516*59599516SKenneth E. Jansen     &             Atau1(:,4,1) * A1(:,1,5)
517*59599516SKenneth E. Jansen     &             + Atau1(:,4,2) * A1(:,2,5)
518*59599516SKenneth E. Jansen     &             + Atau1(:,4,3) * A1(:,3,5)
519*59599516SKenneth E. Jansen     &             + Atau1(:,4,4) * A1(:,4,5)
520*59599516SKenneth E. Jansen     &             + Atau1(:,4,5) * A1(:,5,5)
521*59599516SKenneth E. Jansenc
522*59599516SKenneth E. Jansenc  row five
523*59599516SKenneth E. Jansenc
524*59599516SKenneth E. Jansen
525*59599516SKenneth E. Jansen          A0(:,5,1)=
526*59599516SKenneth E. Jansen     &             Atau1(:,5,1) * A1(:,1,1)
527*59599516SKenneth E. Jansen     &             + Atau1(:,5,2) * A1(:,2,1)
528*59599516SKenneth E. Jansen     &             + Atau1(:,5,3) * A1(:,3,1)
529*59599516SKenneth E. Jansen     &             + Atau1(:,5,4) * A1(:,4,1)
530*59599516SKenneth E. Jansen     &             + Atau1(:,5,5) * A1(:,5,1)
531*59599516SKenneth E. Jansenc
532*59599516SKenneth E. Jansen          A0(:,5,2)=
533*59599516SKenneth E. Jansen     &             Atau1(:,5,1) * A1(:,1,2)
534*59599516SKenneth E. Jansen     &             + Atau1(:,5,2) * A1(:,2,2)
535*59599516SKenneth E. Jansen     &             + Atau1(:,5,3) * A1(:,3,2)
536*59599516SKenneth E. Jansen     &             + Atau1(:,5,4) * A1(:,4,2)
537*59599516SKenneth E. Jansen     &             + Atau1(:,5,5) * A1(:,5,2)
538*59599516SKenneth E. Jansenc
539*59599516SKenneth E. Jansen          A0(:,5,3)=
540*59599516SKenneth E. Jansenc    &             Atau1(:,2,1) * A1(:,1,3)
541*59599516SKenneth E. Jansenc    &             + Atau1(:,2,2) * A1(:,2,3)
542*59599516SKenneth E. Jansen     &             Atau1(:,5,3) * A1(:,3,3)
543*59599516SKenneth E. Jansenc    &             + Atau1(:,2,4) * A1(:,4,3)
544*59599516SKenneth E. Jansen     &             + Atau1(:,3,5) * A1(:,5,3)
545*59599516SKenneth E. Jansenc
546*59599516SKenneth E. Jansen          A0(:,5,4)=
547*59599516SKenneth E. Jansenc    &             Atau1(:,2,1) * A1(:,1,4)
548*59599516SKenneth E. Jansenc    &             + Atau1(:,2,2) * A1(:,2,4)
549*59599516SKenneth E. Jansenc    &             + Atau1(:,2,3) * A1(:,3,4)
550*59599516SKenneth E. Jansen     &             Atau1(:,5,4) * A1(:,4,4)
551*59599516SKenneth E. Jansen     &             + Atau1(:,5,5) * A1(:,5,4)
552*59599516SKenneth E. Jansenc
553*59599516SKenneth E. Jansen          A0(:,5,5)=
554*59599516SKenneth E. Jansen     &             Atau1(:,5,1) * A1(:,1,5)
555*59599516SKenneth E. Jansen     &             + Atau1(:,5,2) * A1(:,2,5)
556*59599516SKenneth E. Jansen     &             + Atau1(:,5,3) * A1(:,3,5)
557*59599516SKenneth E. Jansen     &             + Atau1(:,5,4) * A1(:,4,5)
558*59599516SKenneth E. Jansen     &             + Atau1(:,5,5) * A1(:,5,5)
559*59599516SKenneth E. Jansen
560*59599516SKenneth E. Jansenc
561*59599516SKenneth E. Jansen       else
562*59599516SKenneth E. Jansen          A0=zero
563*59599516SKenneth E. Jansen       endif
564*59599516SKenneth E. Jansenc
565*59599516SKenneth E. Jansen       if (Navier .eq. 1) then
566*59599516SKenneth E. Jansen          A0(:,2,2) = A0(:,2,2) + rlm2mu !rlm2mu
567*59599516SKenneth E. Jansen          A0(:,3,3) = A0(:,3,3) + rmu !rmu
568*59599516SKenneth E. Jansen          A0(:,4,4) = A0(:,4,4) + rmu !rmu
569*59599516SKenneth E. Jansen          A0(:,5,2) = A0(:,5,2) + rlm2mu * u1
570*59599516SKenneth E. Jansen          A0(:,5,3) = A0(:,5,3) + rmu * u2
571*59599516SKenneth E. Jansen          A0(:,5,4) = A0(:,5,4) + rmu * u3
572*59599516SKenneth E. Jansen          A0(:,5,5) = A0(:,5,5) + con !con
573*59599516SKenneth E. Jansen       endif
574*59599516SKenneth E. Jansen       do j = 1, nshl
575*59599516SKenneth E. Jansen          tmp = WdetJ * shg(:,j,1) * shg(:,j,1)
576*59599516SKenneth E. Jansen          do i=1,nflow
577*59599516SKenneth E. Jansen             do k=1,nflow
578*59599516SKenneth E. Jansen                BDiagl(:,j,i,k) = BDiagl(:,j,i,k) + tmp * A0(:,i,k)
579*59599516SKenneth E. Jansen             enddo
580*59599516SKenneth E. Jansen          enddo
581*59599516SKenneth E. Jansen       enddo
582*59599516SKenneth E. Jansenc
583*59599516SKenneth E. Jansenc  start with 2 2 contribution
584*59599516SKenneth E. Jansenc
585*59599516SKenneth E. Jansen       if(ivart.ge.2) then
586*59599516SKenneth E. Jansen
587*59599516SKenneth E. Jansenc
588*59599516SKenneth E. Jansenc  row one
589*59599516SKenneth E. Jansenc
590*59599516SKenneth E. Jansen          A0(:,1,1) =
591*59599516SKenneth E. Jansen     &             Atau2(:,1,1) * A2(:,1,1)
592*59599516SKenneth E. Jansen     &            + Atau2(:,1,2) * A2(:,2,1)
593*59599516SKenneth E. Jansen     &            + Atau2(:,1,3) * A2(:,3,1)
594*59599516SKenneth E. Jansen     &            + Atau2(:,1,4) * A2(:,4,1)
595*59599516SKenneth E. Jansen     &            + Atau2(:,1,5) * A2(:,5,1)
596*59599516SKenneth E. Jansenc
597*59599516SKenneth E. Jansen          A0(:,1,2) =
598*59599516SKenneth E. Jansenc     &             Atau2(:,1,1) * A2(:,1,2)
599*59599516SKenneth E. Jansen     &             Atau2(:,1,2) * A2(:,2,2)
600*59599516SKenneth E. Jansenc     &            + Atau2(:,1,3) * A2(:,3,2)
601*59599516SKenneth E. Jansenc     &            + Atau2(:,1,4) * A2(:,4,2)
602*59599516SKenneth E. Jansen     &            + Atau2(:,1,5) * A2(:,5,2)
603*59599516SKenneth E. Jansenc
604*59599516SKenneth E. Jansen          A0(:,1,3) =
605*59599516SKenneth E. Jansen     &             Atau2(:,1,1) * A2(:,1,3)
606*59599516SKenneth E. Jansen     &             + Atau2(:,1,2) * A2(:,2,3)
607*59599516SKenneth E. Jansen     &             + Atau2(:,1,3) * A2(:,3,3)
608*59599516SKenneth E. Jansen     &             + Atau2(:,1,4) * A2(:,4,3)
609*59599516SKenneth E. Jansen     &             + Atau2(:,1,5) * A2(:,5,3)
610*59599516SKenneth E. Jansenc
611*59599516SKenneth E. Jansen          A0(:,1,4)=
612*59599516SKenneth E. Jansenc    &             Atau2(:,1,1) * A2(:,1,4)
613*59599516SKenneth E. Jansenc    &             + Atau2(:,1,2) * A2(:,2,4)
614*59599516SKenneth E. Jansenc    &             + Atau2(:,1,3) * A2(:,3,4)
615*59599516SKenneth E. Jansen     &             Atau2(:,1,4) * A2(:,4,4)
616*59599516SKenneth E. Jansen     &             + Atau2(:,1,5) * A2(:,5,4)
617*59599516SKenneth E. Jansenc
618*59599516SKenneth E. Jansen          A0(:,1,5)=
619*59599516SKenneth E. Jansen     &             Atau2(:,1,1) * A2(:,1,5)
620*59599516SKenneth E. Jansen     &             + Atau2(:,1,2) * A2(:,2,5)
621*59599516SKenneth E. Jansen     &             + Atau2(:,1,3) * A2(:,3,5)
622*59599516SKenneth E. Jansen     &             + Atau2(:,1,4) * A2(:,4,5)
623*59599516SKenneth E. Jansen     &             + Atau2(:,1,5) * A2(:,5,5)
624*59599516SKenneth E. Jansenc
625*59599516SKenneth E. Jansenc  row two
626*59599516SKenneth E. Jansenc
627*59599516SKenneth E. Jansen          A0(:,2,1)=
628*59599516SKenneth E. Jansen     &             Atau2(:,2,1) * A2(:,1,1)
629*59599516SKenneth E. Jansen     &             + Atau2(:,2,2) * A2(:,2,1)
630*59599516SKenneth E. Jansen     &             + Atau2(:,2,3) * A2(:,3,1)
631*59599516SKenneth E. Jansen     &             + Atau2(:,2,4) * A2(:,4,1)
632*59599516SKenneth E. Jansen     &             + Atau2(:,2,5) * A2(:,5,1)
633*59599516SKenneth E. Jansenc
634*59599516SKenneth E. Jansen          A0(:,2,2)=
635*59599516SKenneth E. Jansenc     &             Atau2(:,2,1) * A2(:,1,2)
636*59599516SKenneth E. Jansen     &              Atau2(:,2,2) * A2(:,2,2)
637*59599516SKenneth E. Jansenc     &             + Atau2(:,2,3) * A2(:,3,2)
638*59599516SKenneth E. Jansenc     &             + Atau2(:,2,4) * A2(:,4,2)
639*59599516SKenneth E. Jansen     &             + Atau2(:,2,5) * A2(:,5,2)
640*59599516SKenneth E. Jansenc
641*59599516SKenneth E. Jansen          A0(:,2,3)=
642*59599516SKenneth E. Jansen     &             Atau2(:,2,1) * A2(:,1,3)
643*59599516SKenneth E. Jansen     &             + Atau2(:,2,2) * A2(:,2,3)
644*59599516SKenneth E. Jansen     &             + Atau2(:,2,3) * A2(:,3,3)
645*59599516SKenneth E. Jansen     &             + Atau2(:,2,4) * A2(:,4,3)
646*59599516SKenneth E. Jansen     &             + Atau2(:,2,5) * A2(:,5,3)
647*59599516SKenneth E. Jansenc
648*59599516SKenneth E. Jansen          A0(:,2,4)=
649*59599516SKenneth E. Jansenc    &             Atau2(:,2,1) * A2(:,1,4)
650*59599516SKenneth E. Jansenc    &             + Atau2(:,2,2) * A2(:,2,4)
651*59599516SKenneth E. Jansenc    &             + Atau2(:,2,3) * A2(:,3,4)
652*59599516SKenneth E. Jansen     &             Atau2(:,2,4) * A2(:,4,4)
653*59599516SKenneth E. Jansen     &             + Atau2(:,2,5) * A2(:,5,4)
654*59599516SKenneth E. Jansenc
655*59599516SKenneth E. Jansen          A0(:,2,5)=
656*59599516SKenneth E. Jansen     &             Atau2(:,2,1) * A2(:,1,5)
657*59599516SKenneth E. Jansen     &             + Atau2(:,2,2) * A2(:,2,5)
658*59599516SKenneth E. Jansen     &             + Atau2(:,2,3) * A2(:,3,5)
659*59599516SKenneth E. Jansen     &             + Atau2(:,2,4) * A2(:,4,5)
660*59599516SKenneth E. Jansen     &             + Atau2(:,2,5) * A2(:,5,5)
661*59599516SKenneth E. Jansenc
662*59599516SKenneth E. Jansenc  row three
663*59599516SKenneth E. Jansenc
664*59599516SKenneth E. Jansen          A0(:,3,1)=
665*59599516SKenneth E. Jansen     &             Atau2(:,3,1) * A2(:,1,1)
666*59599516SKenneth E. Jansen     &             + Atau2(:,3,2) * A2(:,2,1)
667*59599516SKenneth E. Jansen     &             + Atau2(:,3,3) * A2(:,3,1)
668*59599516SKenneth E. Jansen     &             + Atau2(:,3,4) * A2(:,4,1)
669*59599516SKenneth E. Jansen     &             + Atau2(:,3,5) * A2(:,5,1)
670*59599516SKenneth E. Jansenc
671*59599516SKenneth E. Jansen          A0(:,3,2)=
672*59599516SKenneth E. Jansenc     &             Atau2(:,3,1) * A2(:,1,2)
673*59599516SKenneth E. Jansen     &              Atau2(:,3,2) * A2(:,2,2)
674*59599516SKenneth E. Jansenc     &             + Atau2(:,3,3) * A2(:,3,2)
675*59599516SKenneth E. Jansenc     &             + Atau2(:,3,4) * A2(:,4,2)
676*59599516SKenneth E. Jansen     &             + Atau2(:,3,5) * A2(:,5,2)
677*59599516SKenneth E. Jansenc
678*59599516SKenneth E. Jansen          A0(:,3,3)=
679*59599516SKenneth E. Jansen     &             Atau2(:,2,1) * A2(:,1,3)
680*59599516SKenneth E. Jansen     &             + Atau2(:,2,2) * A2(:,2,3)
681*59599516SKenneth E. Jansen     &             + Atau2(:,3,3) * A2(:,3,3)
682*59599516SKenneth E. Jansen     &             + Atau2(:,2,4) * A2(:,4,3)
683*59599516SKenneth E. Jansen     &             + Atau2(:,3,5) * A2(:,5,3)
684*59599516SKenneth E. Jansenc
685*59599516SKenneth E. Jansen          A0(:,3,4)=
686*59599516SKenneth E. Jansenc    &             Atau1(:,2,1) * A1(:,1,4)
687*59599516SKenneth E. Jansenc    &             + Atau1(:,2,2) * A1(:,2,4)
688*59599516SKenneth E. Jansenc    &             + Atau1(:,2,3) * A1(:,3,4)
689*59599516SKenneth E. Jansen     &             Atau2(:,3,4) * A2(:,4,4)
690*59599516SKenneth E. Jansen     &             + Atau2(:,3,5) * A2(:,5,4)
691*59599516SKenneth E. Jansenc
692*59599516SKenneth E. Jansen          A0(:,3,5)=
693*59599516SKenneth E. Jansen     &             Atau2(:,3,1) * A2(:,1,5)
694*59599516SKenneth E. Jansen     &             + Atau2(:,3,2) * A2(:,2,5)
695*59599516SKenneth E. Jansen     &             + Atau2(:,3,3) * A2(:,3,5)
696*59599516SKenneth E. Jansen     &             + Atau2(:,3,4) * A2(:,4,5)
697*59599516SKenneth E. Jansen     &             + Atau2(:,3,5) * A2(:,5,5)
698*59599516SKenneth E. Jansen
699*59599516SKenneth E. Jansenc
700*59599516SKenneth E. Jansenc  row four
701*59599516SKenneth E. Jansenc
702*59599516SKenneth E. Jansen          A0(:,4,1)=
703*59599516SKenneth E. Jansen     &             Atau2(:,4,1) * A2(:,1,1)
704*59599516SKenneth E. Jansen     &             + Atau2(:,4,2) * A2(:,2,1)
705*59599516SKenneth E. Jansen     &             + Atau2(:,4,3) * A2(:,3,1)
706*59599516SKenneth E. Jansen     &             + Atau2(:,4,4) * A2(:,4,1)
707*59599516SKenneth E. Jansen     &             + Atau2(:,4,5) * A2(:,5,1)
708*59599516SKenneth E. Jansenc
709*59599516SKenneth E. Jansen          A0(:,4,2)=
710*59599516SKenneth E. Jansenc     &             Atau2(:,4,1) * A2(:,1,2)
711*59599516SKenneth E. Jansen     &              Atau2(:,4,2) * A2(:,2,2)
712*59599516SKenneth E. Jansenc     &             + Atau2(:,4,3) * A2(:,3,2)
713*59599516SKenneth E. Jansenc     &             + Atau2(:,4,4) * A2(:,4,2)
714*59599516SKenneth E. Jansen     &             + Atau2(:,4,5) * A2(:,5,2)
715*59599516SKenneth E. Jansenc
716*59599516SKenneth E. Jansen          A0(:,4,3)=
717*59599516SKenneth E. Jansen     &             Atau2(:,2,1) * A2(:,1,3)
718*59599516SKenneth E. Jansen     &             + Atau2(:,2,2) * A2(:,2,3)
719*59599516SKenneth E. Jansen     &             + Atau2(:,4,3) * A2(:,3,3)
720*59599516SKenneth E. Jansen     &             + Atau2(:,2,4) * A2(:,4,3)
721*59599516SKenneth E. Jansen     &             + Atau2(:,4,5) * A2(:,5,3)
722*59599516SKenneth E. Jansenc
723*59599516SKenneth E. Jansen          A0(:,4,4)=
724*59599516SKenneth E. Jansenc    &             Atau1(:,2,1) * A1(:,1,4)
725*59599516SKenneth E. Jansenc    &             + Atau1(:,2,2) * A1(:,2,4)
726*59599516SKenneth E. Jansenc    &             + Atau1(:,2,3) * A1(:,3,4)
727*59599516SKenneth E. Jansen     &             Atau2(:,4,4) * A2(:,4,4)
728*59599516SKenneth E. Jansen     &             + Atau2(:,4,5) * A2(:,5,4)
729*59599516SKenneth E. Jansenc
730*59599516SKenneth E. Jansen          A0(:,4,5)=
731*59599516SKenneth E. Jansen     &             Atau2(:,4,1) * A2(:,1,5)
732*59599516SKenneth E. Jansen     &             + Atau2(:,4,2) * A2(:,2,5)
733*59599516SKenneth E. Jansen     &             + Atau2(:,4,3) * A2(:,3,5)
734*59599516SKenneth E. Jansen     &             + Atau2(:,4,4) * A2(:,4,5)
735*59599516SKenneth E. Jansen     &             + Atau2(:,4,5) * A2(:,5,5)
736*59599516SKenneth E. Jansenc
737*59599516SKenneth E. Jansenc  row five
738*59599516SKenneth E. Jansenc
739*59599516SKenneth E. Jansen
740*59599516SKenneth E. Jansen          A0(:,5,1)=
741*59599516SKenneth E. Jansen     &             Atau2(:,5,1) * A2(:,1,1)
742*59599516SKenneth E. Jansen     &             + Atau2(:,5,2) * A2(:,2,1)
743*59599516SKenneth E. Jansen     &             + Atau2(:,5,3) * A2(:,3,1)
744*59599516SKenneth E. Jansen     &             + Atau2(:,5,4) * A2(:,4,1)
745*59599516SKenneth E. Jansen     &             + Atau2(:,5,5) * A2(:,5,1)
746*59599516SKenneth E. Jansenc
747*59599516SKenneth E. Jansen          A0(:,5,2)=
748*59599516SKenneth E. Jansenc     &             Atau2(:,5,1) * A2(:,1,2)
749*59599516SKenneth E. Jansen     &              Atau2(:,5,2) * A2(:,2,2)
750*59599516SKenneth E. Jansenc     &             + Atau2(:,5,3) * A2(:,3,2)
751*59599516SKenneth E. Jansenc     &             + Atau2(:,5,4) * A2(:,4,2)
752*59599516SKenneth E. Jansen     &             + Atau2(:,5,5) * A2(:,5,2)
753*59599516SKenneth E. Jansenc
754*59599516SKenneth E. Jansen          A0(:,5,3)=
755*59599516SKenneth E. Jansen     &             Atau2(:,2,1) * A2(:,1,3)
756*59599516SKenneth E. Jansen     &             + Atau2(:,2,2) * A2(:,2,3)
757*59599516SKenneth E. Jansen     &             + Atau2(:,5,3) * A2(:,3,3)
758*59599516SKenneth E. Jansen     &             + Atau2(:,2,4) * A2(:,4,3)
759*59599516SKenneth E. Jansen     &             + Atau2(:,3,5) * A2(:,5,3)
760*59599516SKenneth E. Jansenc
761*59599516SKenneth E. Jansen          A0(:,5,4)=
762*59599516SKenneth E. Jansenc    &             Atau1(:,2,1) * A1(:,1,4)
763*59599516SKenneth E. Jansenc    &             + Atau1(:,2,2) * A1(:,2,4)
764*59599516SKenneth E. Jansenc    &             + Atau1(:,2,3) * A1(:,3,4)
765*59599516SKenneth E. Jansen     &             Atau2(:,5,4) * A2(:,4,4)
766*59599516SKenneth E. Jansen     &             + Atau2(:,5,5) * A2(:,5,4)
767*59599516SKenneth E. Jansenc
768*59599516SKenneth E. Jansen          A0(:,5,5)=
769*59599516SKenneth E. Jansen     &             Atau2(:,5,1) * A2(:,1,5)
770*59599516SKenneth E. Jansen     &             + Atau2(:,5,2) * A2(:,2,5)
771*59599516SKenneth E. Jansen     &             + Atau2(:,5,3) * A2(:,3,5)
772*59599516SKenneth E. Jansen     &             + Atau2(:,5,4) * A2(:,4,5)
773*59599516SKenneth E. Jansen     &             + Atau2(:,5,5) * A2(:,5,5)
774*59599516SKenneth E. Jansen
775*59599516SKenneth E. Jansenc
776*59599516SKenneth E. Jansen
777*59599516SKenneth E. Jansen       else
778*59599516SKenneth E. Jansen          A0 = zero
779*59599516SKenneth E. Jansen       endif
780*59599516SKenneth E. Jansenc
781*59599516SKenneth E. Jansen          if (Navier .eq. 1) then
782*59599516SKenneth E. Jansen           A0(:,2,2) = A0(:,2,2) + rmu !rmu
783*59599516SKenneth E. Jansen           A0(:,3,3) = A0(:,3,3) + rlm2mu !rlm2mu
784*59599516SKenneth E. Jansen           A0(:,4,4) = A0(:,4,4) + rmu !rmu
785*59599516SKenneth E. Jansen           A0(:,5,2) = A0(:,5,2) + rmu * u1
786*59599516SKenneth E. Jansen           A0(:,5,3) = A0(:,5,3) + rlm2mu * u2
787*59599516SKenneth E. Jansen           A0(:,5,4) = A0(:,5,4) + rmu * u3
788*59599516SKenneth E. Jansen           A0(:,5,5) = A0(:,5,5) + con !con
789*59599516SKenneth E. Jansen        endif
790*59599516SKenneth E. Jansenc
791*59599516SKenneth E. Jansen        do j = 1, nshl
792*59599516SKenneth E. Jansen          tmp = WdetJ * shg(:,j,2) * shg(:,j,2)
793*59599516SKenneth E. Jansen           do i=1,nflow
794*59599516SKenneth E. Jansen           do k=1,nflow
795*59599516SKenneth E. Jansen             BDiagl(:,j,i,k) = BDiagl(:,j,i,k) + tmp * A0(:,i,k)
796*59599516SKenneth E. Jansen           enddo
797*59599516SKenneth E. Jansen           enddo
798*59599516SKenneth E. Jansen        enddo
799*59599516SKenneth E. Jansenc
800*59599516SKenneth E. Jansenc  start with 3 3 contribution
801*59599516SKenneth E. Jansenc
802*59599516SKenneth E. Jansen        if(ivart.ge.2) then
803*59599516SKenneth E. Jansen
804*59599516SKenneth E. Jansenc
805*59599516SKenneth E. Jansenc  row one
806*59599516SKenneth E. Jansenc
807*59599516SKenneth E. Jansen          A0(:,1,1) =
808*59599516SKenneth E. Jansen     &             Atau3(:,1,1) * A3(:,1,1)
809*59599516SKenneth E. Jansen     &            + Atau3(:,1,2) * A3(:,2,1)
810*59599516SKenneth E. Jansen     &            + Atau3(:,1,3) * A3(:,3,1)
811*59599516SKenneth E. Jansen     &            + Atau3(:,1,4) * A3(:,4,1)
812*59599516SKenneth E. Jansen     &            + Atau3(:,1,5) * A3(:,5,1)
813*59599516SKenneth E. Jansenc
814*59599516SKenneth E. Jansen          A0(:,1,2) =
815*59599516SKenneth E. Jansenc     &             Atau2(:,1,1) * A2(:,1,2)
816*59599516SKenneth E. Jansen     &             Atau3(:,1,2) * A3(:,2,2)
817*59599516SKenneth E. Jansenc     &            + Atau2(:,1,3) * A2(:,3,2)
818*59599516SKenneth E. Jansenc     &            + Atau2(:,1,4) * A2(:,4,2)
819*59599516SKenneth E. Jansen     &            + Atau3(:,1,5) * A3(:,5,2)
820*59599516SKenneth E. Jansenc
821*59599516SKenneth E. Jansen          A0(:,1,3) =
822*59599516SKenneth E. Jansenc     &             Atau2(:,1,1) * A2(:,1,3)
823*59599516SKenneth E. Jansenc     &             + Atau2(:,1,2) * A2(:,2,3)
824*59599516SKenneth E. Jansen     &              Atau3(:,1,3) * A3(:,3,3)
825*59599516SKenneth E. Jansenc     &             + Atau2(:,1,4) * A2(:,4,3)
826*59599516SKenneth E. Jansen     &             + Atau3(:,1,5) * A3(:,5,3)
827*59599516SKenneth E. Jansenc
828*59599516SKenneth E. Jansen          A0(:,1,4)=
829*59599516SKenneth E. Jansen     &             Atau3(:,1,1) * A3(:,1,4)
830*59599516SKenneth E. Jansen     &             + Atau3(:,1,2) * A3(:,2,4)
831*59599516SKenneth E. Jansen     &             + Atau3(:,1,3) * A3(:,3,4)
832*59599516SKenneth E. Jansen     &             + Atau3(:,1,4) * A3(:,4,4)
833*59599516SKenneth E. Jansen     &             + Atau3(:,1,5) * A3(:,5,4)
834*59599516SKenneth E. Jansenc
835*59599516SKenneth E. Jansen          A0(:,1,5)=
836*59599516SKenneth E. Jansen     &             Atau3(:,1,1) * A3(:,1,5)
837*59599516SKenneth E. Jansen     &             + Atau3(:,1,2) * A3(:,2,5)
838*59599516SKenneth E. Jansen     &             + Atau3(:,1,3) * A3(:,3,5)
839*59599516SKenneth E. Jansen     &             + Atau3(:,1,4) * A3(:,4,5)
840*59599516SKenneth E. Jansen     &             + Atau3(:,1,5) * A3(:,5,5)
841*59599516SKenneth E. Jansenc
842*59599516SKenneth E. Jansenc  row two
843*59599516SKenneth E. Jansenc
844*59599516SKenneth E. Jansen          A0(:,2,1)=
845*59599516SKenneth E. Jansen     &             Atau3(:,2,1) * A3(:,1,1)
846*59599516SKenneth E. Jansen     &             + Atau3(:,2,2) * A3(:,2,1)
847*59599516SKenneth E. Jansen     &             + Atau3(:,2,3) * A3(:,3,1)
848*59599516SKenneth E. Jansen     &             + Atau3(:,2,4) * A3(:,4,1)
849*59599516SKenneth E. Jansen     &             + Atau3(:,2,5) * A3(:,5,1)
850*59599516SKenneth E. Jansenc
851*59599516SKenneth E. Jansen          A0(:,2,2)=
852*59599516SKenneth E. Jansenc     &             Atau2(:,2,1) * A2(:,1,2)
853*59599516SKenneth E. Jansen     &              Atau3(:,2,2) * A3(:,2,2)
854*59599516SKenneth E. Jansenc     &             + Atau2(:,2,3) * A2(:,3,2)
855*59599516SKenneth E. Jansenc     &             + Atau2(:,2,4) * A2(:,4,2)
856*59599516SKenneth E. Jansen     &             + Atau3(:,2,5) * A3(:,5,2)
857*59599516SKenneth E. Jansenc
858*59599516SKenneth E. Jansen          A0(:,2,3)=
859*59599516SKenneth E. Jansenc     &             Atau2(:,2,1) * A2(:,1,3)
860*59599516SKenneth E. Jansenc     &             + Atau2(:,2,2) * A2(:,2,3)
861*59599516SKenneth E. Jansen     &              Atau3(:,2,3) * A3(:,3,3)
862*59599516SKenneth E. Jansenc     &             + Atau2(:,2,4) * A2(:,4,3)
863*59599516SKenneth E. Jansen     &             + Atau3(:,2,5) * A3(:,5,3)
864*59599516SKenneth E. Jansenc
865*59599516SKenneth E. Jansen          A0(:,2,4)=
866*59599516SKenneth E. Jansen     &             Atau3(:,2,1) * A3(:,1,4)
867*59599516SKenneth E. Jansen     &             + Atau3(:,2,2) * A3(:,2,4)
868*59599516SKenneth E. Jansen     &             + Atau3(:,2,3) * A3(:,3,4)
869*59599516SKenneth E. Jansen     &             + Atau3(:,2,4) * A3(:,4,4)
870*59599516SKenneth E. Jansen     &             + Atau3(:,2,5) * A3(:,5,4)
871*59599516SKenneth E. Jansenc
872*59599516SKenneth E. Jansen          A0(:,2,5)=
873*59599516SKenneth E. Jansen     &             Atau3(:,2,1) * A3(:,1,5)
874*59599516SKenneth E. Jansen     &             + Atau3(:,2,2) * A3(:,2,5)
875*59599516SKenneth E. Jansen     &             + Atau3(:,2,3) * A3(:,3,5)
876*59599516SKenneth E. Jansen     &             + Atau3(:,2,4) * A3(:,4,5)
877*59599516SKenneth E. Jansen     &             + Atau3(:,2,5) * A3(:,5,5)
878*59599516SKenneth E. Jansenc
879*59599516SKenneth E. Jansenc  row three
880*59599516SKenneth E. Jansenc
881*59599516SKenneth E. Jansen          A0(:,3,1)=
882*59599516SKenneth E. Jansen     &             Atau3(:,3,1) * A3(:,1,1)
883*59599516SKenneth E. Jansen     &             + Atau3(:,3,2) * A3(:,2,1)
884*59599516SKenneth E. Jansen     &             + Atau3(:,3,3) * A3(:,3,1)
885*59599516SKenneth E. Jansen     &             + Atau3(:,3,4) * A3(:,4,1)
886*59599516SKenneth E. Jansen     &             + Atau3(:,3,5) * A3(:,5,1)
887*59599516SKenneth E. Jansenc
888*59599516SKenneth E. Jansen          A0(:,3,2)=
889*59599516SKenneth E. Jansenc     &             Atau2(:,3,1) * A2(:,1,2)
890*59599516SKenneth E. Jansen     &              Atau3(:,3,2) * A3(:,2,2)
891*59599516SKenneth E. Jansenc     &             + Atau2(:,3,3) * A2(:,3,2)
892*59599516SKenneth E. Jansenc     &             + Atau2(:,3,4) * A2(:,4,2)
893*59599516SKenneth E. Jansen     &             + Atau3(:,3,5) * A3(:,5,2)
894*59599516SKenneth E. Jansenc
895*59599516SKenneth E. Jansen          A0(:,3,3)=
896*59599516SKenneth E. Jansenc     &             Atau2(:,2,1) * A2(:,1,3)
897*59599516SKenneth E. Jansenc     &             + Atau2(:,2,2) * A2(:,2,3)
898*59599516SKenneth E. Jansen     &              Atau3(:,3,3) * A3(:,3,3)
899*59599516SKenneth E. Jansenc     &             + Atau2(:,2,4) * A2(:,4,3)
900*59599516SKenneth E. Jansen     &             + Atau3(:,3,5) * A3(:,5,3)
901*59599516SKenneth E. Jansenc
902*59599516SKenneth E. Jansen          A0(:,3,4)=
903*59599516SKenneth E. Jansen     &             Atau3(:,2,1) * A3(:,1,4)
904*59599516SKenneth E. Jansen     &             + Atau3(:,2,2) * A3(:,2,4)
905*59599516SKenneth E. Jansen     &             + Atau3(:,2,3) * A3(:,3,4)
906*59599516SKenneth E. Jansen     &             + Atau3(:,3,4) * A3(:,4,4)
907*59599516SKenneth E. Jansen     &             + Atau3(:,3,5) * A3(:,5,4)
908*59599516SKenneth E. Jansenc
909*59599516SKenneth E. Jansen          A0(:,3,5)=
910*59599516SKenneth E. Jansen     &             Atau3(:,3,1) * A3(:,1,5)
911*59599516SKenneth E. Jansen     &             + Atau3(:,3,2) * A3(:,2,5)
912*59599516SKenneth E. Jansen     &             + Atau3(:,3,3) * A3(:,3,5)
913*59599516SKenneth E. Jansen     &             + Atau3(:,3,4) * A3(:,4,5)
914*59599516SKenneth E. Jansen     &             + Atau3(:,3,5) * A3(:,5,5)
915*59599516SKenneth E. Jansen
916*59599516SKenneth E. Jansenc
917*59599516SKenneth E. Jansenc  row four
918*59599516SKenneth E. Jansenc
919*59599516SKenneth E. Jansen          A0(:,4,1)=
920*59599516SKenneth E. Jansen     &             Atau3(:,4,1) * A3(:,1,1)
921*59599516SKenneth E. Jansen     &             + Atau3(:,4,2) * A3(:,2,1)
922*59599516SKenneth E. Jansen     &             + Atau3(:,4,3) * A3(:,3,1)
923*59599516SKenneth E. Jansen     &             + Atau3(:,4,4) * A3(:,4,1)
924*59599516SKenneth E. Jansen     &             + Atau3(:,4,5) * A3(:,5,1)
925*59599516SKenneth E. Jansenc
926*59599516SKenneth E. Jansen          A0(:,4,2)=
927*59599516SKenneth E. Jansenc     &             Atau2(:,4,1) * A2(:,1,2)
928*59599516SKenneth E. Jansen     &              Atau3(:,4,2) * A3(:,2,2)
929*59599516SKenneth E. Jansenc     &             + Atau2(:,4,3) * A2(:,3,2)
930*59599516SKenneth E. Jansenc     &             + Atau2(:,4,4) * A2(:,4,2)
931*59599516SKenneth E. Jansen     &             + Atau3(:,4,5) * A3(:,5,2)
932*59599516SKenneth E. Jansenc
933*59599516SKenneth E. Jansen          A0(:,4,3)=
934*59599516SKenneth E. Jansenc     &             Atau2(:,2,1) * A2(:,1,3)
935*59599516SKenneth E. Jansenc     &             + Atau2(:,2,2) * A2(:,2,3)
936*59599516SKenneth E. Jansen     &              Atau3(:,4,3) * A3(:,3,3)
937*59599516SKenneth E. Jansenc     &             + Atau2(:,2,4) * A2(:,4,3)
938*59599516SKenneth E. Jansen     &             + Atau3(:,4,5) * A3(:,5,3)
939*59599516SKenneth E. Jansenc
940*59599516SKenneth E. Jansen          A0(:,4,4)=
941*59599516SKenneth E. Jansen     &             Atau3(:,2,1) * A3(:,1,4)
942*59599516SKenneth E. Jansen     &             + Atau3(:,2,2) * A3(:,2,4)
943*59599516SKenneth E. Jansen     &             + Atau3(:,2,3) * A3(:,3,4)
944*59599516SKenneth E. Jansen     &             + Atau3(:,4,4) * A3(:,4,4)
945*59599516SKenneth E. Jansen     &             + Atau3(:,4,5) * A3(:,5,4)
946*59599516SKenneth E. Jansenc
947*59599516SKenneth E. Jansen          A0(:,4,5)=
948*59599516SKenneth E. Jansen     &             Atau3(:,4,1) * A3(:,1,5)
949*59599516SKenneth E. Jansen     &             + Atau3(:,4,2) * A3(:,2,5)
950*59599516SKenneth E. Jansen     &             + Atau3(:,4,3) * A3(:,3,5)
951*59599516SKenneth E. Jansen     &             + Atau3(:,4,4) * A3(:,4,5)
952*59599516SKenneth E. Jansen     &             + Atau3(:,4,5) * A3(:,5,5)
953*59599516SKenneth E. Jansenc
954*59599516SKenneth E. Jansenc  row five
955*59599516SKenneth E. Jansenc
956*59599516SKenneth E. Jansen
957*59599516SKenneth E. Jansen          A0(:,5,1)=
958*59599516SKenneth E. Jansen     &             Atau3(:,5,1) * A3(:,1,1)
959*59599516SKenneth E. Jansen     &             + Atau3(:,5,2) * A3(:,2,1)
960*59599516SKenneth E. Jansen     &             + Atau3(:,5,3) * A3(:,3,1)
961*59599516SKenneth E. Jansen     &             + Atau3(:,5,4) * A3(:,4,1)
962*59599516SKenneth E. Jansen     &             + Atau3(:,5,5) * A3(:,5,1)
963*59599516SKenneth E. Jansenc
964*59599516SKenneth E. Jansen          A0(:,5,2)=
965*59599516SKenneth E. Jansenc     &             Atau2(:,5,1) * A2(:,1,2)
966*59599516SKenneth E. Jansen     &              Atau3(:,5,2) * A3(:,2,2)
967*59599516SKenneth E. Jansenc     &             + Atau2(:,5,3) * A2(:,3,2)
968*59599516SKenneth E. Jansenc     &             + Atau2(:,5,4) * A2(:,4,2)
969*59599516SKenneth E. Jansen     &             + Atau3(:,5,5) * A3(:,5,2)
970*59599516SKenneth E. Jansenc
971*59599516SKenneth E. Jansen          A0(:,5,3)=
972*59599516SKenneth E. Jansenc     &             Atau2(:,2,1) * A2(:,1,3)
973*59599516SKenneth E. Jansenc     &             + Atau2(:,2,2) * A2(:,2,3)
974*59599516SKenneth E. Jansen     &              Atau3(:,5,3) * A3(:,3,3)
975*59599516SKenneth E. Jansenc     &             + Atau2(:,2,4) * A2(:,4,3)
976*59599516SKenneth E. Jansen     &             + Atau3(:,3,5) * A3(:,5,3)
977*59599516SKenneth E. Jansenc
978*59599516SKenneth E. Jansen          A0(:,5,4)=
979*59599516SKenneth E. Jansen     &             Atau3(:,2,1) * A3(:,1,4)
980*59599516SKenneth E. Jansen     &             + Atau3(:,2,2) * A3(:,2,4)
981*59599516SKenneth E. Jansen     &             + Atau3(:,2,3) * A3(:,3,4)
982*59599516SKenneth E. Jansen     &             + Atau3(:,5,4) * A3(:,4,4)
983*59599516SKenneth E. Jansen     &             + Atau3(:,5,5) * A3(:,5,4)
984*59599516SKenneth E. Jansenc
985*59599516SKenneth E. Jansen          A0(:,5,5)=
986*59599516SKenneth E. Jansen     &             Atau3(:,5,1) * A3(:,1,5)
987*59599516SKenneth E. Jansen     &             + Atau3(:,5,2) * A3(:,2,5)
988*59599516SKenneth E. Jansen     &             + Atau3(:,5,3) * A3(:,3,5)
989*59599516SKenneth E. Jansen     &             + Atau3(:,5,4) * A3(:,4,5)
990*59599516SKenneth E. Jansen     &             + Atau3(:,5,5) * A3(:,5,5)
991*59599516SKenneth E. Jansen
992*59599516SKenneth E. Jansenc
993*59599516SKenneth E. Jansen
994*59599516SKenneth E. Jansen       else
995*59599516SKenneth E. Jansen          A0 = zero
996*59599516SKenneth E. Jansen       endif
997*59599516SKenneth E. Jansenc
998*59599516SKenneth E. Jansen       if (Navier .eq. 1) then
999*59599516SKenneth E. Jansen          A0(:,2,2) = A0(:,2,2) + rmu !rmu
1000*59599516SKenneth E. Jansen          A0(:,3,3) = A0(:,3,3) + rmu !rmu
1001*59599516SKenneth E. Jansen          A0(:,4,4) = A0(:,4,4) + rlm2mu !rlm2mu
1002*59599516SKenneth E. Jansen          A0(:,5,2) = A0(:,5,2) + rmu * u1
1003*59599516SKenneth E. Jansen          A0(:,5,3) = A0(:,5,3) + rmu * u2
1004*59599516SKenneth E. Jansen          A0(:,5,4) = A0(:,5,4) + rlm2mu * u3
1005*59599516SKenneth E. Jansen          A0(:,5,5) = A0(:,5,5) + con !con
1006*59599516SKenneth E. Jansen       endif
1007*59599516SKenneth E. Jansenc
1008*59599516SKenneth E. Jansen       do j = 1, nshl
1009*59599516SKenneth E. Jansen          tmp = WdetJ * shg(:,j,3) * shg(:,j,3)
1010*59599516SKenneth E. Jansen          do i=1,nflow
1011*59599516SKenneth E. Jansen             do k=1,nflow
1012*59599516SKenneth E. Jansen                BDiagl(:,j,i,k) = BDiagl(:,j,i,k) + tmp * A0(:,i,k)
1013*59599516SKenneth E. Jansen             enddo
1014*59599516SKenneth E. Jansen          enddo
1015*59599516SKenneth E. Jansen       enddo
1016*59599516SKenneth E. Jansenc
1017*59599516SKenneth E. Jansenc now for the 1 2  plus 2 1
1018*59599516SKenneth E. Jansen       if(ivart.ge.2) then
1019*59599516SKenneth E. Jansen
1020*59599516SKenneth E. Jansen          A0(:,1,1) =
1021*59599516SKenneth E. Jansen     &             Atau1(:,1,1) * A2(:,1,1)
1022*59599516SKenneth E. Jansen     &            + Atau1(:,1,2) * A2(:,2,1)
1023*59599516SKenneth E. Jansen     &            + Atau1(:,1,3) * A2(:,3,1)
1024*59599516SKenneth E. Jansen     &            + Atau1(:,1,4) * A2(:,4,1)
1025*59599516SKenneth E. Jansen     &            + Atau1(:,1,5) * A2(:,5,1)
1026*59599516SKenneth E. Jansen     &            + Atau2(:,1,1) * A1(:,1,1)
1027*59599516SKenneth E. Jansen     &            + Atau2(:,1,2) * A1(:,2,1)
1028*59599516SKenneth E. Jansen     &            + Atau2(:,1,3) * A1(:,3,1)
1029*59599516SKenneth E. Jansen     &            + Atau2(:,1,4) * A1(:,4,1)
1030*59599516SKenneth E. Jansen     &            + Atau2(:,1,5) * A1(:,5,1)
1031*59599516SKenneth E. Jansenc
1032*59599516SKenneth E. Jansen          A0(:,1,2) =
1033*59599516SKenneth E. Jansenc     &             Atau1(:,1,1) * A2(:,1,2)
1034*59599516SKenneth E. Jansen     &             Atau1(:,1,2) * A2(:,2,2)
1035*59599516SKenneth E. Jansenc     &            + Atau1(:,1,3) * A2(:,3,2)
1036*59599516SKenneth E. Jansenc     &            + Atau1(:,1,4) * A2(:,4,2)
1037*59599516SKenneth E. Jansen     &            + Atau1(:,1,5) * A2(:,5,2)
1038*59599516SKenneth E. Jansen     &            + Atau2(:,1,1) * A1(:,1,2)
1039*59599516SKenneth E. Jansen     &            + Atau2(:,1,2) * A1(:,2,2)
1040*59599516SKenneth E. Jansen     &            + Atau2(:,1,3) * A1(:,3,2)
1041*59599516SKenneth E. Jansen     &            + Atau2(:,1,4) * A1(:,4,2)
1042*59599516SKenneth E. Jansen     &            + Atau2(:,1,5) * A1(:,5,2)
1043*59599516SKenneth E. Jansen
1044*59599516SKenneth E. Jansenc
1045*59599516SKenneth E. Jansen          A0(:,1,3) =
1046*59599516SKenneth E. Jansen     &             Atau1(:,1,1) * A2(:,1,3)
1047*59599516SKenneth E. Jansen     &            + Atau1(:,1,2) * A2(:,2,3)
1048*59599516SKenneth E. Jansen     &            + Atau1(:,1,3) * A2(:,3,3)
1049*59599516SKenneth E. Jansen     &            + Atau1(:,1,4) * A2(:,4,3)
1050*59599516SKenneth E. Jansen     &            + Atau1(:,1,5) * A2(:,5,3)
1051*59599516SKenneth E. Jansenc     &            + Atau2(:,1,1) * A1(:,1,3)
1052*59599516SKenneth E. Jansenc     &            + Atau2(:,1,2) * A1(:,2,3)
1053*59599516SKenneth E. Jansen     &            + Atau2(:,1,3) * A1(:,3,3)
1054*59599516SKenneth E. Jansenc     &            + Atau2(:,1,4) * A1(:,4,3)
1055*59599516SKenneth E. Jansen     &            + Atau2(:,1,5) * A1(:,5,3)
1056*59599516SKenneth E. Jansenc
1057*59599516SKenneth E. Jansen          A0(:,1,4)=
1058*59599516SKenneth E. Jansenc     &            Atau1(:,1,1) * A2(:,1,4)
1059*59599516SKenneth E. Jansenc     &            + Atau1(:,1,2) * A2(:,2,4)
1060*59599516SKenneth E. Jansenc     &            + Atau1(:,1,3) * A2(:,3,4)
1061*59599516SKenneth E. Jansen     &             Atau1(:,1,4) * A2(:,4,4)
1062*59599516SKenneth E. Jansen     &            + Atau1(:,1,5) * A2(:,5,4)
1063*59599516SKenneth E. Jansenc     &            + Atau2(:,1,1) * A1(:,1,4)
1064*59599516SKenneth E. Jansenc     &            + Atau2(:,1,2) * A1(:,2,4)
1065*59599516SKenneth E. Jansenc     &            + Atau2(:,1,3) * A1(:,3,4)
1066*59599516SKenneth E. Jansen     &            + Atau2(:,1,4) * A1(:,4,4)
1067*59599516SKenneth E. Jansen     &            + Atau2(:,1,5) * A1(:,5,4)
1068*59599516SKenneth E. Jansenc
1069*59599516SKenneth E. Jansen          A0(:,1,5)=
1070*59599516SKenneth E. Jansen     &             Atau1(:,1,1) * A2(:,1,5)
1071*59599516SKenneth E. Jansen     &             + Atau1(:,1,2) * A2(:,2,5)
1072*59599516SKenneth E. Jansen     &             + Atau1(:,1,3) * A2(:,3,5)
1073*59599516SKenneth E. Jansen     &             + Atau1(:,1,4) * A2(:,4,5)
1074*59599516SKenneth E. Jansen     &             + Atau1(:,1,5) * A2(:,5,5)
1075*59599516SKenneth E. Jansen     &             + Atau2(:,1,1) * A1(:,1,5)
1076*59599516SKenneth E. Jansen     &             + Atau2(:,1,2) * A1(:,2,5)
1077*59599516SKenneth E. Jansen     &             + Atau2(:,1,3) * A1(:,3,5)
1078*59599516SKenneth E. Jansen     &             + Atau2(:,1,4) * A1(:,4,5)
1079*59599516SKenneth E. Jansen     &             + Atau2(:,1,5) * A1(:,5,5)
1080*59599516SKenneth E. Jansenc
1081*59599516SKenneth E. Jansenc  row two
1082*59599516SKenneth E. Jansenc
1083*59599516SKenneth E. Jansen          A0(:,2,1)=
1084*59599516SKenneth E. Jansen     &             Atau1(:,2,1) * A2(:,1,1)
1085*59599516SKenneth E. Jansen     &             + Atau1(:,2,2) * A2(:,2,1)
1086*59599516SKenneth E. Jansen     &             + Atau1(:,2,3) * A2(:,3,1)
1087*59599516SKenneth E. Jansen     &             + Atau1(:,2,4) * A2(:,4,1)
1088*59599516SKenneth E. Jansen     &             + Atau1(:,2,5) * A2(:,5,1)
1089*59599516SKenneth E. Jansen     &             + Atau2(:,2,1) * A1(:,1,1)
1090*59599516SKenneth E. Jansen     &             + Atau2(:,2,2) * A1(:,2,1)
1091*59599516SKenneth E. Jansen     &             + Atau2(:,2,3) * A1(:,3,1)
1092*59599516SKenneth E. Jansen     &             + Atau2(:,2,4) * A1(:,4,1)
1093*59599516SKenneth E. Jansen     &             + Atau2(:,2,5) * A1(:,5,1)
1094*59599516SKenneth E. Jansenc
1095*59599516SKenneth E. Jansen          A0(:,2,2)=
1096*59599516SKenneth E. Jansenc     &             Atau1(:,2,1) * A2(:,1,2)
1097*59599516SKenneth E. Jansen     &              Atau1(:,2,2) * A2(:,2,2)
1098*59599516SKenneth E. Jansenc     &             + Atau1(:,2,3) * A2(:,3,2)
1099*59599516SKenneth E. Jansenc     &             + Atau1(:,2,4) * A2(:,4,2)
1100*59599516SKenneth E. Jansen     &             + Atau1(:,2,5) * A2(:,5,2)
1101*59599516SKenneth E. Jansen     &             + Atau2(:,2,1) * A1(:,1,2)
1102*59599516SKenneth E. Jansen     &             + Atau2(:,2,2) * A1(:,2,2)
1103*59599516SKenneth E. Jansen     &             + Atau2(:,2,3) * A1(:,3,2)
1104*59599516SKenneth E. Jansen     &             + Atau2(:,2,4) * A1(:,4,2)
1105*59599516SKenneth E. Jansen     &             + Atau2(:,2,5) * A1(:,5,2)
1106*59599516SKenneth E. Jansenc
1107*59599516SKenneth E. Jansen          A0(:,2,3)=
1108*59599516SKenneth E. Jansen     &             Atau1(:,2,1) * A2(:,1,3)
1109*59599516SKenneth E. Jansen     &             + Atau1(:,2,2) * A2(:,2,3)
1110*59599516SKenneth E. Jansen     &             + Atau1(:,2,3) * A2(:,3,3)
1111*59599516SKenneth E. Jansen     &             + Atau1(:,2,4) * A2(:,4,3)
1112*59599516SKenneth E. Jansen     &             + Atau1(:,2,5) * A2(:,5,3)
1113*59599516SKenneth E. Jansenc     &             + Atau2(:,2,1) * A1(:,1,3)
1114*59599516SKenneth E. Jansenc     &             + Atau2(:,2,2) * A1(:,2,3)
1115*59599516SKenneth E. Jansen     &             + Atau2(:,2,3) * A1(:,3,3)
1116*59599516SKenneth E. Jansenc     &             + Atau2(:,2,4) * A1(:,4,3)
1117*59599516SKenneth E. Jansen     &             + Atau2(:,2,5) * A1(:,5,3)
1118*59599516SKenneth E. Jansenc
1119*59599516SKenneth E. Jansen          A0(:,2,4)=
1120*59599516SKenneth E. Jansenc     &             Atau1(:,2,1) * A2(:,1,4)
1121*59599516SKenneth E. Jansenc     &             + Atau1(:,2,2) * A2(:,2,4)
1122*59599516SKenneth E. Jansenc     &             + Atau1(:,2,3) * A2(:,3,4)
1123*59599516SKenneth E. Jansen     &              Atau1(:,2,4) * A2(:,4,4)
1124*59599516SKenneth E. Jansen     &             + Atau1(:,2,5) * A2(:,5,4)
1125*59599516SKenneth E. Jansenc     &             + Atau2(:,2,1) * A1(:,1,4)
1126*59599516SKenneth E. Jansenc     &             + Atau2(:,2,2) * A1(:,2,4)
1127*59599516SKenneth E. Jansenc     &             + Atau2(:,2,3) * A1(:,3,4)
1128*59599516SKenneth E. Jansen     &             + Atau2(:,2,4) * A1(:,4,4)
1129*59599516SKenneth E. Jansen     &             + Atau2(:,2,5) * A1(:,5,4)
1130*59599516SKenneth E. Jansen
1131*59599516SKenneth E. Jansenc
1132*59599516SKenneth E. Jansen          A0(:,2,5)=
1133*59599516SKenneth E. Jansen     &             Atau1(:,2,1) * A2(:,1,5)
1134*59599516SKenneth E. Jansen     &             + Atau1(:,2,2) * A2(:,2,5)
1135*59599516SKenneth E. Jansen     &             + Atau1(:,2,3) * A2(:,3,5)
1136*59599516SKenneth E. Jansen     &             + Atau1(:,2,4) * A2(:,4,5)
1137*59599516SKenneth E. Jansen     &             + Atau1(:,2,5) * A2(:,5,5)
1138*59599516SKenneth E. Jansen     &             + Atau2(:,2,1) * A1(:,1,5)
1139*59599516SKenneth E. Jansen     &             + Atau2(:,2,2) * A1(:,2,5)
1140*59599516SKenneth E. Jansen     &             + Atau2(:,2,3) * A1(:,3,5)
1141*59599516SKenneth E. Jansen     &             + Atau2(:,2,4) * A1(:,4,5)
1142*59599516SKenneth E. Jansen     &             + Atau2(:,2,5) * A1(:,5,5)
1143*59599516SKenneth E. Jansen
1144*59599516SKenneth E. Jansenc
1145*59599516SKenneth E. Jansenc  row three
1146*59599516SKenneth E. Jansenc
1147*59599516SKenneth E. Jansen          A0(:,3,1)=
1148*59599516SKenneth E. Jansen     &             Atau1(:,3,1) * A2(:,1,1)
1149*59599516SKenneth E. Jansen     &             + Atau1(:,3,2) * A2(:,2,1)
1150*59599516SKenneth E. Jansen     &             + Atau1(:,3,3) * A2(:,3,1)
1151*59599516SKenneth E. Jansen     &             + Atau1(:,3,4) * A2(:,4,1)
1152*59599516SKenneth E. Jansen     &             + Atau1(:,3,5) * A2(:,5,1)
1153*59599516SKenneth E. Jansen     &             + Atau2(:,3,1) * A1(:,1,1)
1154*59599516SKenneth E. Jansen     &             + Atau2(:,3,2) * A1(:,2,1)
1155*59599516SKenneth E. Jansen     &             + Atau2(:,3,3) * A1(:,3,1)
1156*59599516SKenneth E. Jansen     &             + Atau2(:,3,4) * A1(:,4,1)
1157*59599516SKenneth E. Jansen     &             + Atau2(:,3,5) * A1(:,5,1)
1158*59599516SKenneth E. Jansen
1159*59599516SKenneth E. Jansenc
1160*59599516SKenneth E. Jansen          A0(:,3,2)=
1161*59599516SKenneth E. Jansenc     &             Atau1(:,3,1) * A2(:,1,2)
1162*59599516SKenneth E. Jansen     &              Atau1(:,3,2) * A2(:,2,2)
1163*59599516SKenneth E. Jansenc     &             + Atau1(:,3,3) * A2(:,3,2)
1164*59599516SKenneth E. Jansenc     &             + Atau1(:,3,4) * A2(:,4,2)
1165*59599516SKenneth E. Jansen     &             + Atau1(:,3,5) * A2(:,5,2)
1166*59599516SKenneth E. Jansen     &             + Atau2(:,3,1) * A1(:,1,2)
1167*59599516SKenneth E. Jansen     &             + Atau2(:,3,2) * A1(:,2,2)
1168*59599516SKenneth E. Jansen     &             + Atau2(:,3,3) * A1(:,3,2)
1169*59599516SKenneth E. Jansen     &             + Atau2(:,3,4) * A1(:,4,2)
1170*59599516SKenneth E. Jansen     &             + Atau2(:,3,5) * A1(:,5,2)
1171*59599516SKenneth E. Jansenc
1172*59599516SKenneth E. Jansen          A0(:,3,3)=
1173*59599516SKenneth E. Jansen     &             Atau1(:,3,1) * A2(:,1,3)
1174*59599516SKenneth E. Jansen     &             + Atau1(:,3,2) * A2(:,2,3)
1175*59599516SKenneth E. Jansen     &             + Atau1(:,3,3) * A2(:,3,3)
1176*59599516SKenneth E. Jansen     &             + Atau1(:,3,4) * A2(:,4,3)
1177*59599516SKenneth E. Jansen     &             + Atau1(:,3,5) * A2(:,5,3)
1178*59599516SKenneth E. Jansenc     &             + Atau2(:,3,1) * A1(:,1,3)
1179*59599516SKenneth E. Jansenc     &             + Atau2(:,3,2) * A1(:,2,3)
1180*59599516SKenneth E. Jansen     &             + Atau2(:,3,3) * A1(:,3,3)
1181*59599516SKenneth E. Jansenc     &             + Atau2(:,3,4) * A1(:,4,3)
1182*59599516SKenneth E. Jansen     &             + Atau2(:,3,5) * A1(:,5,3)
1183*59599516SKenneth E. Jansenc
1184*59599516SKenneth E. Jansen          A0(:,3,4)=
1185*59599516SKenneth E. Jansenc     &             Atau1(:,3,1) * A2(:,1,4)
1186*59599516SKenneth E. Jansenc     &             + Atau1(:,3,2) * A2(:,2,4)
1187*59599516SKenneth E. Jansenc     &             + Atau1(:,3,3) * A2(:,3,4)
1188*59599516SKenneth E. Jansen     &              Atau1(:,3,4) * A2(:,4,4)
1189*59599516SKenneth E. Jansen     &             + Atau1(:,3,5) * A2(:,5,4)
1190*59599516SKenneth E. Jansenc     &             + Atau2(:,3,1) * A1(:,1,4)
1191*59599516SKenneth E. Jansenc     &             + Atau2(:,3,2) * A1(:,2,4)
1192*59599516SKenneth E. Jansenc     &             + Atau2(:,3,3) * A1(:,3,4)
1193*59599516SKenneth E. Jansen     &             + Atau2(:,3,4) * A1(:,4,4)
1194*59599516SKenneth E. Jansen     &             + Atau2(:,3,5) * A1(:,5,4)
1195*59599516SKenneth E. Jansenc
1196*59599516SKenneth E. Jansen          A0(:,3,5)=
1197*59599516SKenneth E. Jansen     &             Atau1(:,3,1) * A2(:,1,5)
1198*59599516SKenneth E. Jansen     &             + Atau1(:,3,2) * A2(:,2,5)
1199*59599516SKenneth E. Jansen     &             + Atau1(:,3,3) * A2(:,3,5)
1200*59599516SKenneth E. Jansen     &             + Atau1(:,3,4) * A2(:,4,5)
1201*59599516SKenneth E. Jansen     &             + Atau1(:,3,5) * A2(:,5,5)
1202*59599516SKenneth E. Jansen     &             + Atau2(:,3,1) * A1(:,1,5)
1203*59599516SKenneth E. Jansen     &             + Atau2(:,3,2) * A1(:,2,5)
1204*59599516SKenneth E. Jansen     &             + Atau2(:,3,3) * A1(:,3,5)
1205*59599516SKenneth E. Jansen     &             + Atau2(:,3,4) * A1(:,4,5)
1206*59599516SKenneth E. Jansen     &             + Atau2(:,3,5) * A1(:,5,5)
1207*59599516SKenneth E. Jansen
1208*59599516SKenneth E. Jansen
1209*59599516SKenneth E. Jansenc
1210*59599516SKenneth E. Jansenc  row four
1211*59599516SKenneth E. Jansenc
1212*59599516SKenneth E. Jansen          A0(:,4,1)=
1213*59599516SKenneth E. Jansen     &             Atau1(:,4,1) * A2(:,1,1)
1214*59599516SKenneth E. Jansen     &             + Atau1(:,4,2) * A2(:,2,1)
1215*59599516SKenneth E. Jansen     &             + Atau1(:,4,3) * A2(:,3,1)
1216*59599516SKenneth E. Jansen     &             + Atau1(:,4,4) * A2(:,4,1)
1217*59599516SKenneth E. Jansen     &             + Atau1(:,4,5) * A2(:,5,1)
1218*59599516SKenneth E. Jansen     &             + Atau2(:,4,1) * A1(:,1,1)
1219*59599516SKenneth E. Jansen     &             + Atau2(:,4,2) * A1(:,2,1)
1220*59599516SKenneth E. Jansen     &             + Atau2(:,4,3) * A1(:,3,1)
1221*59599516SKenneth E. Jansen     &             + Atau2(:,4,4) * A1(:,4,1)
1222*59599516SKenneth E. Jansen     &             + Atau2(:,4,5) * A1(:,5,1)
1223*59599516SKenneth E. Jansenc
1224*59599516SKenneth E. Jansen          A0(:,4,2)=
1225*59599516SKenneth E. Jansenc     &             Atau1(:,4,1) * A2(:,1,2)
1226*59599516SKenneth E. Jansen     &              Atau1(:,4,2) * A2(:,2,2)
1227*59599516SKenneth E. Jansenc     &             + Atau1(:,4,3) * A2(:,3,2)
1228*59599516SKenneth E. Jansenc     &             + Atau1(:,4,4) * A2(:,4,2)
1229*59599516SKenneth E. Jansen     &             + Atau1(:,4,5) * A2(:,5,2)
1230*59599516SKenneth E. Jansen     &             + Atau2(:,4,1) * A1(:,1,2)
1231*59599516SKenneth E. Jansen     &             + Atau2(:,4,2) * A1(:,2,2)
1232*59599516SKenneth E. Jansen     &             + Atau2(:,4,3) * A1(:,3,2)
1233*59599516SKenneth E. Jansen     &             + Atau2(:,4,4) * A1(:,4,2)
1234*59599516SKenneth E. Jansen     &             + Atau2(:,4,5) * A1(:,5,2)
1235*59599516SKenneth E. Jansenc
1236*59599516SKenneth E. Jansen          A0(:,4,3)=
1237*59599516SKenneth E. Jansen     &             Atau1(:,4,1) * A2(:,1,3)
1238*59599516SKenneth E. Jansen     &             + Atau1(:,4,2) * A2(:,2,3)
1239*59599516SKenneth E. Jansen     &             + Atau1(:,4,3) * A2(:,3,3)
1240*59599516SKenneth E. Jansen     &             + Atau1(:,4,4) * A2(:,4,3)
1241*59599516SKenneth E. Jansen     &             + Atau1(:,4,5) * A2(:,5,3)
1242*59599516SKenneth E. Jansenc     &             + Atau2(:,4,1) * A1(:,1,3)
1243*59599516SKenneth E. Jansenc     &             + Atau2(:,4,2) * A1(:,2,3)
1244*59599516SKenneth E. Jansen     &             + Atau2(:,4,3) * A1(:,3,3)
1245*59599516SKenneth E. Jansenc     &             + Atau2(:,4,4) * A1(:,4,3)
1246*59599516SKenneth E. Jansen     &             + Atau2(:,4,5) * A1(:,5,3)
1247*59599516SKenneth E. Jansenc
1248*59599516SKenneth E. Jansen          A0(:,4,4)=
1249*59599516SKenneth E. Jansenc     &             Atau1(:,4,1) * A2(:,1,4)
1250*59599516SKenneth E. Jansenc     &             + Atau1(:,4,2) * A2(:,2,4)
1251*59599516SKenneth E. Jansenc     &             + Atau1(:,4,3) * A2(:,3,4)
1252*59599516SKenneth E. Jansen     &              Atau1(:,4,4) * A2(:,4,4)
1253*59599516SKenneth E. Jansen     &             + Atau1(:,4,5) * A2(:,5,4)
1254*59599516SKenneth E. Jansenc     &             + Atau2(:,4,1) * A1(:,1,4)
1255*59599516SKenneth E. Jansenc     &             + Atau2(:,4,2) * A1(:,2,4)
1256*59599516SKenneth E. Jansenc     &             + Atau2(:,4,3) * A1(:,3,4)
1257*59599516SKenneth E. Jansen     &             + Atau2(:,4,4) * A1(:,4,4)
1258*59599516SKenneth E. Jansen     &             + Atau2(:,4,5) * A1(:,5,4)
1259*59599516SKenneth E. Jansenc
1260*59599516SKenneth E. Jansen          A0(:,4,5)=
1261*59599516SKenneth E. Jansen     &             Atau1(:,4,1) * A2(:,1,5)
1262*59599516SKenneth E. Jansen     &             + Atau1(:,4,2) * A2(:,2,5)
1263*59599516SKenneth E. Jansen     &             + Atau1(:,4,3) * A2(:,3,5)
1264*59599516SKenneth E. Jansen     &             + Atau1(:,4,4) * A2(:,4,5)
1265*59599516SKenneth E. Jansen     &             + Atau1(:,4,5) * A2(:,5,5)
1266*59599516SKenneth E. Jansen     &             + Atau2(:,4,1) * A1(:,1,5)
1267*59599516SKenneth E. Jansen     &             + Atau2(:,4,2) * A1(:,2,5)
1268*59599516SKenneth E. Jansen     &             + Atau2(:,4,3) * A1(:,3,5)
1269*59599516SKenneth E. Jansen     &             + Atau2(:,4,4) * A1(:,4,5)
1270*59599516SKenneth E. Jansen     &             + Atau2(:,4,5) * A1(:,5,5)
1271*59599516SKenneth E. Jansenc
1272*59599516SKenneth E. Jansenc  row five
1273*59599516SKenneth E. Jansenc
1274*59599516SKenneth E. Jansen
1275*59599516SKenneth E. Jansen          A0(:,5,1)=
1276*59599516SKenneth E. Jansen     &             Atau1(:,5,1) * A2(:,1,1)
1277*59599516SKenneth E. Jansen     &             + Atau1(:,5,2) * A2(:,2,1)
1278*59599516SKenneth E. Jansen     &             + Atau1(:,5,3) * A2(:,3,1)
1279*59599516SKenneth E. Jansen     &             + Atau1(:,5,4) * A2(:,4,1)
1280*59599516SKenneth E. Jansen     &             + Atau1(:,5,5) * A2(:,5,1)
1281*59599516SKenneth E. Jansen     &             + Atau2(:,5,1) * A1(:,1,1)
1282*59599516SKenneth E. Jansen     &             + Atau2(:,5,2) * A1(:,2,1)
1283*59599516SKenneth E. Jansen     &             + Atau2(:,5,3) * A1(:,3,1)
1284*59599516SKenneth E. Jansen     &             + Atau2(:,5,4) * A1(:,4,1)
1285*59599516SKenneth E. Jansen     &             + Atau2(:,5,5) * A1(:,5,1)
1286*59599516SKenneth E. Jansenc
1287*59599516SKenneth E. Jansen          A0(:,5,2)=
1288*59599516SKenneth E. Jansenc     &             Atau1(:,5,1) * A2(:,1,2)
1289*59599516SKenneth E. Jansen     &              Atau1(:,5,2) * A2(:,2,2)
1290*59599516SKenneth E. Jansenc     &             + Atau1(:,5,3) * A2(:,3,2)
1291*59599516SKenneth E. Jansenc     &             + Atau1(:,5,4) * A2(:,4,2)
1292*59599516SKenneth E. Jansen     &             + Atau1(:,5,5) * A2(:,5,2)
1293*59599516SKenneth E. Jansen     &             + Atau2(:,5,1) * A1(:,1,2)
1294*59599516SKenneth E. Jansen     &             + Atau2(:,5,2) * A1(:,2,2)
1295*59599516SKenneth E. Jansen     &             + Atau2(:,5,3) * A1(:,3,2)
1296*59599516SKenneth E. Jansen     &             + Atau2(:,5,4) * A1(:,4,2)
1297*59599516SKenneth E. Jansen     &             + Atau2(:,5,5) * A1(:,5,2)
1298*59599516SKenneth E. Jansenc
1299*59599516SKenneth E. Jansen          A0(:,5,3)=
1300*59599516SKenneth E. Jansen     &             Atau1(:,5,1) * A2(:,1,3)
1301*59599516SKenneth E. Jansen     &             + Atau1(:,5,2) * A2(:,2,3)
1302*59599516SKenneth E. Jansen     &             + Atau1(:,5,3) * A2(:,3,3)
1303*59599516SKenneth E. Jansen     &             + Atau1(:,5,4) * A2(:,4,3)
1304*59599516SKenneth E. Jansen     &             + Atau1(:,5,5) * A2(:,5,3)
1305*59599516SKenneth E. Jansenc     &             + Atau2(:,5,1) * A1(:,1,3)
1306*59599516SKenneth E. Jansenc     &             + Atau2(:,5,2) * A1(:,2,3)
1307*59599516SKenneth E. Jansen     &             + Atau2(:,5,3) * A1(:,3,3)
1308*59599516SKenneth E. Jansenc     &             + Atau2(:,5,4) * A1(:,4,3)
1309*59599516SKenneth E. Jansen     &             + Atau2(:,5,5) * A1(:,5,3)
1310*59599516SKenneth E. Jansenc
1311*59599516SKenneth E. Jansen          A0(:,5,4)=
1312*59599516SKenneth E. Jansenc     &             Atau1(:,5,1) * A2(:,1,4)
1313*59599516SKenneth E. Jansenc     &             + Atau1(:,5,2) * A2(:,2,4)
1314*59599516SKenneth E. Jansenc     &             + Atau1(:,5,3) * A2(:,3,4)
1315*59599516SKenneth E. Jansen     &              Atau1(:,5,4) * A2(:,4,4)
1316*59599516SKenneth E. Jansen     &             + Atau1(:,5,5) * A2(:,5,4)
1317*59599516SKenneth E. Jansenc     &             + Atau2(:,5,1) * A1(:,1,4)
1318*59599516SKenneth E. Jansenc     &             + Atau2(:,5,2) * A1(:,2,4)
1319*59599516SKenneth E. Jansenc     &             + Atau2(:,5,3) * A1(:,3,4)
1320*59599516SKenneth E. Jansen     &             + Atau2(:,5,4) * A1(:,4,4)
1321*59599516SKenneth E. Jansen     &             + Atau2(:,5,5) * A1(:,5,4)
1322*59599516SKenneth E. Jansen
1323*59599516SKenneth E. Jansenc
1324*59599516SKenneth E. Jansen          A0(:,5,5)=
1325*59599516SKenneth E. Jansen     &             Atau1(:,5,1) * A2(:,1,5)
1326*59599516SKenneth E. Jansen     &             + Atau1(:,5,2) * A2(:,2,5)
1327*59599516SKenneth E. Jansen     &             + Atau1(:,5,3) * A2(:,3,5)
1328*59599516SKenneth E. Jansen     &             + Atau1(:,5,4) * A2(:,4,5)
1329*59599516SKenneth E. Jansen     &             + Atau1(:,5,5) * A2(:,5,5)
1330*59599516SKenneth E. Jansen     &             + Atau2(:,5,1) * A1(:,1,5)
1331*59599516SKenneth E. Jansen     &             + Atau2(:,5,2) * A1(:,2,5)
1332*59599516SKenneth E. Jansen     &             + Atau2(:,5,3) * A1(:,3,5)
1333*59599516SKenneth E. Jansen     &             + Atau2(:,5,4) * A1(:,4,5)
1334*59599516SKenneth E. Jansen     &             + Atau2(:,5,5) * A1(:,5,5)
1335*59599516SKenneth E. Jansen
1336*59599516SKenneth E. Jansenc
1337*59599516SKenneth E. Jansen       else
1338*59599516SKenneth E. Jansen          A0 = zero
1339*59599516SKenneth E. Jansen       endif
1340*59599516SKenneth E. Jansenc
1341*59599516SKenneth E. Jansen        if (Navier .eq. 1) then
1342*59599516SKenneth E. Jansen           A0(:,2,3) = A0(:,2,3) + rlm2mu - rmu
1343*59599516SKenneth E. Jansen           A0(:,3,2) = A0(:,3,2) + rlm2mu - rmu
1344*59599516SKenneth E. Jansen           A0(:,5,2) = A0(:,5,2) + (rlm2mu - rmu) * u2
1345*59599516SKenneth E. Jansen           A0(:,5,3) = A0(:,5,3) + (rlm2mu- rmu) * u1
1346*59599516SKenneth E. Jansen        endif
1347*59599516SKenneth E. Jansenc
1348*59599516SKenneth E. Jansen        do j = 1, nshl
1349*59599516SKenneth E. Jansen          tmp = WdetJ * shg(:,j,1) * shg(:,j,2)
1350*59599516SKenneth E. Jansen           do i=1,nflow
1351*59599516SKenneth E. Jansen           do k=1,nflow
1352*59599516SKenneth E. Jansen             BDiagl(:,j,i,k) = BDiagl(:,j,i,k) + tmp * A0(:,i,k)
1353*59599516SKenneth E. Jansen           enddo
1354*59599516SKenneth E. Jansen           enddo
1355*59599516SKenneth E. Jansen         enddo
1356*59599516SKenneth E. Jansenc
1357*59599516SKenneth E. Jansenc now for the 1 3  plus 3 1
1358*59599516SKenneth E. Jansenc
1359*59599516SKenneth E. Jansen          if(ivart.ge.2) then
1360*59599516SKenneth E. Jansenc
1361*59599516SKenneth E. Jansenc  row one
1362*59599516SKenneth E. Jansenc
1363*59599516SKenneth E. Jansen          A0(:,1,1)=
1364*59599516SKenneth E. Jansen     &             Atau1(:,1,1) * A3(:,1,1)
1365*59599516SKenneth E. Jansen     &            + Atau1(:,1,2) * A3(:,2,1)
1366*59599516SKenneth E. Jansen     &            + Atau1(:,1,3) * A3(:,3,1)
1367*59599516SKenneth E. Jansen     &            + Atau1(:,1,4) * A3(:,4,1)
1368*59599516SKenneth E. Jansen     &            + Atau1(:,1,5) * A3(:,5,1)
1369*59599516SKenneth E. Jansen     &            + Atau3(:,1,1) * A1(:,1,1)
1370*59599516SKenneth E. Jansen     &            + Atau3(:,1,2) * A1(:,2,1)
1371*59599516SKenneth E. Jansen     &            + Atau3(:,1,3) * A1(:,3,1)
1372*59599516SKenneth E. Jansen     &            + Atau3(:,1,4) * A1(:,4,1)
1373*59599516SKenneth E. Jansen     &            + Atau3(:,1,5) * A1(:,5,1)
1374*59599516SKenneth E. Jansenc
1375*59599516SKenneth E. Jansen          A0(:,1,2) =
1376*59599516SKenneth E. Jansenc     &             Atau1(:,1,1) * A3(:,1,2)
1377*59599516SKenneth E. Jansen     &             Atau1(:,1,2) * A3(:,2,2)
1378*59599516SKenneth E. Jansenc     &            + Atau1(:,1,3) * A3(:,3,2)
1379*59599516SKenneth E. Jansenc     &            + Atau1(:,1,4) * A3(:,4,2)
1380*59599516SKenneth E. Jansen     &            + Atau1(:,1,5) * A3(:,5,2)
1381*59599516SKenneth E. Jansen     &            + Atau3(:,1,1) * A1(:,1,2)
1382*59599516SKenneth E. Jansen     &            + Atau3(:,1,2) * A1(:,2,2)
1383*59599516SKenneth E. Jansen     &            + Atau3(:,1,3) * A1(:,3,2)
1384*59599516SKenneth E. Jansen     &            + Atau3(:,1,4) * A1(:,4,2)
1385*59599516SKenneth E. Jansen     &            + Atau3(:,1,5) * A1(:,5,2)
1386*59599516SKenneth E. Jansen
1387*59599516SKenneth E. Jansenc
1388*59599516SKenneth E. Jansen          A0(:,1,3) =
1389*59599516SKenneth E. Jansenc     &             Atau1(:,1,1) * A3(:,1,3)
1390*59599516SKenneth E. Jansenc     &            + Atau1(:,1,2) * A3(:,2,3)
1391*59599516SKenneth E. Jansen     &             Atau1(:,1,3) * A3(:,3,3)
1392*59599516SKenneth E. Jansenc     &            + Atau1(:,1,4) * A3(:,4,3)
1393*59599516SKenneth E. Jansen     &            + Atau1(:,1,5) * A3(:,5,3)
1394*59599516SKenneth E. Jansenc     &            + Atau3(:,1,1) * A1(:,1,3)
1395*59599516SKenneth E. Jansenc     &            + Atau3(:,1,2) * A1(:,2,3)
1396*59599516SKenneth E. Jansen     &            + Atau3(:,1,3) * A1(:,3,3)
1397*59599516SKenneth E. Jansenc     &            + Atau3(:,1,4) * A1(:,4,3)
1398*59599516SKenneth E. Jansen     &            + Atau3(:,1,5) * A1(:,5,3)
1399*59599516SKenneth E. Jansenc
1400*59599516SKenneth E. Jansen          A0(:,1,4)=
1401*59599516SKenneth E. Jansen     &            Atau1(:,1,1) * A3(:,1,4)
1402*59599516SKenneth E. Jansen     &            + Atau1(:,1,2) * A3(:,2,4)
1403*59599516SKenneth E. Jansen     &            + Atau1(:,1,3) * A3(:,3,4)
1404*59599516SKenneth E. Jansen     &            + Atau1(:,1,4) * A3(:,4,4)
1405*59599516SKenneth E. Jansen     &            + Atau1(:,1,5) * A3(:,5,4)
1406*59599516SKenneth E. Jansenc     &            + Atau3(:,1,1) * A1(:,1,4)
1407*59599516SKenneth E. Jansenc     &            + Atau3(:,1,2) * A1(:,2,4)
1408*59599516SKenneth E. Jansenc     &            + Atau3(:,1,3) * A1(:,3,4)
1409*59599516SKenneth E. Jansen     &            + Atau3(:,1,4) * A1(:,4,4)
1410*59599516SKenneth E. Jansen     &            + Atau3(:,1,5) * A1(:,5,4)
1411*59599516SKenneth E. Jansenc
1412*59599516SKenneth E. Jansen          A0(:,1,5)=
1413*59599516SKenneth E. Jansen     &             Atau1(:,1,1) * A3(:,1,5)
1414*59599516SKenneth E. Jansen     &             + Atau1(:,1,2) * A3(:,2,5)
1415*59599516SKenneth E. Jansen     &             + Atau1(:,1,3) * A3(:,3,5)
1416*59599516SKenneth E. Jansen     &             + Atau1(:,1,4) * A3(:,4,5)
1417*59599516SKenneth E. Jansen     &             + Atau1(:,1,5) * A3(:,5,5)
1418*59599516SKenneth E. Jansen     &             + Atau3(:,1,1) * A1(:,1,5)
1419*59599516SKenneth E. Jansen     &             + Atau3(:,1,2) * A1(:,2,5)
1420*59599516SKenneth E. Jansen     &             + Atau3(:,1,3) * A1(:,3,5)
1421*59599516SKenneth E. Jansen     &             + Atau3(:,1,4) * A1(:,4,5)
1422*59599516SKenneth E. Jansen     &             + Atau3(:,1,5) * A1(:,5,5)
1423*59599516SKenneth E. Jansenc
1424*59599516SKenneth E. Jansenc  row two
1425*59599516SKenneth E. Jansenc
1426*59599516SKenneth E. Jansen          A0(:,2,1)=
1427*59599516SKenneth E. Jansen     &             Atau1(:,2,1) * A3(:,1,1)
1428*59599516SKenneth E. Jansen     &             + Atau1(:,2,2) * A3(:,2,1)
1429*59599516SKenneth E. Jansen     &             + Atau1(:,2,3) * A3(:,3,1)
1430*59599516SKenneth E. Jansen     &             + Atau1(:,2,4) * A3(:,4,1)
1431*59599516SKenneth E. Jansen     &             + Atau1(:,2,5) * A3(:,5,1)
1432*59599516SKenneth E. Jansen     &             + Atau3(:,2,1) * A1(:,1,1)
1433*59599516SKenneth E. Jansen     &             + Atau3(:,2,2) * A1(:,2,1)
1434*59599516SKenneth E. Jansen     &             + Atau3(:,2,3) * A1(:,3,1)
1435*59599516SKenneth E. Jansen     &             + Atau3(:,2,4) * A1(:,4,1)
1436*59599516SKenneth E. Jansen     &             + Atau3(:,2,5) * A1(:,5,1)
1437*59599516SKenneth E. Jansenc
1438*59599516SKenneth E. Jansen          A0(:,2,2)=
1439*59599516SKenneth E. Jansenc     &             Atau1(:,2,1) * A3(:,1,2)
1440*59599516SKenneth E. Jansen     &              Atau1(:,2,2) * A3(:,2,2)
1441*59599516SKenneth E. Jansenc     &             + Atau1(:,2,3) * A3(:,3,2)
1442*59599516SKenneth E. Jansenc     &             + Atau1(:,2,4) * A3(:,4,2)
1443*59599516SKenneth E. Jansen     &             + Atau1(:,2,5) * A3(:,5,2)
1444*59599516SKenneth E. Jansen     &             + Atau3(:,2,1) * A1(:,1,2)
1445*59599516SKenneth E. Jansen     &             + Atau3(:,2,2) * A1(:,2,2)
1446*59599516SKenneth E. Jansen     &             + Atau3(:,2,3) * A1(:,3,2)
1447*59599516SKenneth E. Jansen     &             + Atau3(:,2,4) * A1(:,4,2)
1448*59599516SKenneth E. Jansen     &             + Atau3(:,2,5) * A1(:,5,2)
1449*59599516SKenneth E. Jansenc
1450*59599516SKenneth E. Jansen          A0(:,2,3)=
1451*59599516SKenneth E. Jansenc     &             Atau1(:,2,1) * A3(:,1,3)
1452*59599516SKenneth E. Jansenc     &             + Atau1(:,2,2) * A3(:,2,3)
1453*59599516SKenneth E. Jansen     &              Atau1(:,2,3) * A3(:,3,3)
1454*59599516SKenneth E. Jansenc     &             + Atau1(:,2,4) * A3(:,4,3)
1455*59599516SKenneth E. Jansen     &             + Atau1(:,2,5) * A3(:,5,3)
1456*59599516SKenneth E. Jansenc     &             + Atau3(:,2,1) * A1(:,1,3)
1457*59599516SKenneth E. Jansenc     &             + Atau3(:,2,2) * A1(:,2,3)
1458*59599516SKenneth E. Jansen     &             + Atau3(:,2,3) * A1(:,3,3)
1459*59599516SKenneth E. Jansenc     &             + Atau3(:,2,4) * A1(:,4,3)
1460*59599516SKenneth E. Jansen     &             + Atau3(:,2,5) * A1(:,5,3)
1461*59599516SKenneth E. Jansenc
1462*59599516SKenneth E. Jansen          A0(:,2,4)=
1463*59599516SKenneth E. Jansen     &             Atau1(:,2,1) * A3(:,1,4)
1464*59599516SKenneth E. Jansen     &             + Atau1(:,2,2) * A3(:,2,4)
1465*59599516SKenneth E. Jansen     &             + Atau1(:,2,3) * A3(:,3,4)
1466*59599516SKenneth E. Jansen     &             + Atau1(:,2,4) * A3(:,4,4)
1467*59599516SKenneth E. Jansen     &             + Atau1(:,2,5) * A3(:,5,4)
1468*59599516SKenneth E. Jansenc     &             + Atau3(:,2,1) * A1(:,1,4)
1469*59599516SKenneth E. Jansenc     &             + Atau3(:,2,2) * A1(:,2,4)
1470*59599516SKenneth E. Jansenc     &             + Atau3(:,2,3) * A1(:,3,4)
1471*59599516SKenneth E. Jansen     &             + Atau3(:,2,4) * A1(:,4,4)
1472*59599516SKenneth E. Jansen     &             + Atau3(:,2,5) * A1(:,5,4)
1473*59599516SKenneth E. Jansen
1474*59599516SKenneth E. Jansenc
1475*59599516SKenneth E. Jansen          A0(:,2,5)=
1476*59599516SKenneth E. Jansen     &             Atau1(:,2,1) * A3(:,1,5)
1477*59599516SKenneth E. Jansen     &             + Atau1(:,2,2) * A3(:,2,5)
1478*59599516SKenneth E. Jansen     &             + Atau1(:,2,3) * A3(:,3,5)
1479*59599516SKenneth E. Jansen     &             + Atau1(:,2,4) * A3(:,4,5)
1480*59599516SKenneth E. Jansen     &             + Atau1(:,2,5) * A3(:,5,5)
1481*59599516SKenneth E. Jansen     &             + Atau3(:,2,1) * A1(:,1,5)
1482*59599516SKenneth E. Jansen     &             + Atau3(:,2,2) * A1(:,2,5)
1483*59599516SKenneth E. Jansen     &             + Atau3(:,2,3) * A1(:,3,5)
1484*59599516SKenneth E. Jansen     &             + Atau3(:,2,4) * A1(:,4,5)
1485*59599516SKenneth E. Jansen     &             + Atau3(:,2,5) * A1(:,5,5)
1486*59599516SKenneth E. Jansen
1487*59599516SKenneth E. Jansenc
1488*59599516SKenneth E. Jansenc  row three
1489*59599516SKenneth E. Jansenc
1490*59599516SKenneth E. Jansen          A0(:,3,1)=
1491*59599516SKenneth E. Jansen     &             Atau1(:,3,1) * A3(:,1,1)
1492*59599516SKenneth E. Jansen     &             + Atau1(:,3,2) * A3(:,2,1)
1493*59599516SKenneth E. Jansen     &             + Atau1(:,3,3) * A3(:,3,1)
1494*59599516SKenneth E. Jansen     &             + Atau1(:,3,4) * A3(:,4,1)
1495*59599516SKenneth E. Jansen     &             + Atau1(:,3,5) * A3(:,5,1)
1496*59599516SKenneth E. Jansen     &             + Atau3(:,3,1) * A1(:,1,1)
1497*59599516SKenneth E. Jansen     &             + Atau3(:,3,2) * A1(:,2,1)
1498*59599516SKenneth E. Jansen     &             + Atau3(:,3,3) * A1(:,3,1)
1499*59599516SKenneth E. Jansen     &             + Atau3(:,3,4) * A1(:,4,1)
1500*59599516SKenneth E. Jansen     &             + Atau3(:,3,5) * A1(:,5,1)
1501*59599516SKenneth E. Jansen
1502*59599516SKenneth E. Jansenc
1503*59599516SKenneth E. Jansen          A0(:,3,2)=
1504*59599516SKenneth E. Jansenc     &             Atau1(:,3,1) * A3(:,1,2)
1505*59599516SKenneth E. Jansen     &              Atau1(:,3,2) * A3(:,2,2)
1506*59599516SKenneth E. Jansenc     &             + Atau1(:,3,3) * A3(:,3,2)
1507*59599516SKenneth E. Jansenc     &             + Atau1(:,3,4) * A3(:,4,2)
1508*59599516SKenneth E. Jansen     &             + Atau1(:,3,5) * A3(:,5,2)
1509*59599516SKenneth E. Jansen     &             + Atau3(:,3,1) * A1(:,1,2)
1510*59599516SKenneth E. Jansen     &             + Atau3(:,3,2) * A1(:,2,2)
1511*59599516SKenneth E. Jansen     &             + Atau3(:,3,3) * A1(:,3,2)
1512*59599516SKenneth E. Jansen     &             + Atau3(:,3,4) * A1(:,4,2)
1513*59599516SKenneth E. Jansen     &             + Atau3(:,3,5) * A1(:,5,2)
1514*59599516SKenneth E. Jansenc
1515*59599516SKenneth E. Jansen          A0(:,3,3)=
1516*59599516SKenneth E. Jansenc     &             Atau1(:,3,1) * A3(:,1,3)
1517*59599516SKenneth E. Jansenc     &             + Atau1(:,3,2) * A3(:,2,3)
1518*59599516SKenneth E. Jansen     &              Atau1(:,3,3) * A3(:,3,3)
1519*59599516SKenneth E. Jansenc     &             + Atau1(:,3,4) * A3(:,4,3)
1520*59599516SKenneth E. Jansen     &             + Atau1(:,3,5) * A3(:,5,3)
1521*59599516SKenneth E. Jansenc     &             + Atau3(:,3,1) * A1(:,1,3)
1522*59599516SKenneth E. Jansenc     &             + Atau3(:,3,2) * A1(:,2,3)
1523*59599516SKenneth E. Jansen     &             + Atau3(:,3,3) * A1(:,3,3)
1524*59599516SKenneth E. Jansenc     &             + Atau3(:,3,4) * A1(:,4,3)
1525*59599516SKenneth E. Jansen     &             + Atau3(:,3,5) * A1(:,5,3)
1526*59599516SKenneth E. Jansenc
1527*59599516SKenneth E. Jansen          A0(:,3,4)=
1528*59599516SKenneth E. Jansen     &             Atau1(:,3,1) * A3(:,1,4)
1529*59599516SKenneth E. Jansen     &             + Atau1(:,3,2) * A3(:,2,4)
1530*59599516SKenneth E. Jansen     &             + Atau1(:,3,3) * A3(:,3,4)
1531*59599516SKenneth E. Jansen     &             + Atau1(:,3,4) * A3(:,4,4)
1532*59599516SKenneth E. Jansen     &             + Atau1(:,3,5) * A3(:,5,4)
1533*59599516SKenneth E. Jansenc     &             + Atau3(:,3,1) * A1(:,1,4)
1534*59599516SKenneth E. Jansenc     &             + Atau3(:,3,2) * A1(:,2,4)
1535*59599516SKenneth E. Jansenc     &             + Atau3(:,3,3) * A1(:,3,4)
1536*59599516SKenneth E. Jansen     &             + Atau3(:,3,4) * A1(:,4,4)
1537*59599516SKenneth E. Jansen     &             + Atau3(:,3,5) * A1(:,5,4)
1538*59599516SKenneth E. Jansenc
1539*59599516SKenneth E. Jansen          A0(:,3,5)=
1540*59599516SKenneth E. Jansen     &             Atau1(:,3,1) * A3(:,1,5)
1541*59599516SKenneth E. Jansen     &             + Atau1(:,3,2) * A3(:,2,5)
1542*59599516SKenneth E. Jansen     &             + Atau1(:,3,3) * A3(:,3,5)
1543*59599516SKenneth E. Jansen     &             + Atau1(:,3,4) * A3(:,4,5)
1544*59599516SKenneth E. Jansen     &             + Atau1(:,3,5) * A3(:,5,5)
1545*59599516SKenneth E. Jansen     &             + Atau3(:,3,1) * A1(:,1,5)
1546*59599516SKenneth E. Jansen     &             + Atau3(:,3,2) * A1(:,2,5)
1547*59599516SKenneth E. Jansen     &             + Atau3(:,3,3) * A1(:,3,5)
1548*59599516SKenneth E. Jansen     &             + Atau3(:,3,4) * A1(:,4,5)
1549*59599516SKenneth E. Jansen     &             + Atau3(:,3,5) * A1(:,5,5)
1550*59599516SKenneth E. Jansen
1551*59599516SKenneth E. Jansen
1552*59599516SKenneth E. Jansenc
1553*59599516SKenneth E. Jansenc  row four
1554*59599516SKenneth E. Jansenc
1555*59599516SKenneth E. Jansen          A0(:,4,1)=
1556*59599516SKenneth E. Jansen     &             Atau1(:,4,1) * A3(:,1,1)
1557*59599516SKenneth E. Jansen     &             + Atau1(:,4,2) * A3(:,2,1)
1558*59599516SKenneth E. Jansen     &             + Atau1(:,4,3) * A3(:,3,1)
1559*59599516SKenneth E. Jansen     &             + Atau1(:,4,4) * A3(:,4,1)
1560*59599516SKenneth E. Jansen     &             + Atau1(:,4,5) * A3(:,5,1)
1561*59599516SKenneth E. Jansen     &             + Atau3(:,4,1) * A1(:,1,1)
1562*59599516SKenneth E. Jansen     &             + Atau3(:,4,2) * A1(:,2,1)
1563*59599516SKenneth E. Jansen     &             + Atau3(:,4,3) * A1(:,3,1)
1564*59599516SKenneth E. Jansen     &             + Atau3(:,4,4) * A1(:,4,1)
1565*59599516SKenneth E. Jansen     &             + Atau3(:,4,5) * A1(:,5,1)
1566*59599516SKenneth E. Jansenc
1567*59599516SKenneth E. Jansen          A0(:,4,2)=
1568*59599516SKenneth E. Jansenc     &             Atau1(:,4,1) * A3(:,1,2)
1569*59599516SKenneth E. Jansen     &              Atau1(:,4,2) * A3(:,2,2)
1570*59599516SKenneth E. Jansenc     &             + Atau1(:,4,3) * A3(:,3,2)
1571*59599516SKenneth E. Jansenc     &             + Atau1(:,4,4) * A3(:,4,2)
1572*59599516SKenneth E. Jansen     &             + Atau1(:,4,5) * A3(:,5,2)
1573*59599516SKenneth E. Jansen     &             + Atau3(:,4,1) * A1(:,1,2)
1574*59599516SKenneth E. Jansen     &             + Atau3(:,4,2) * A1(:,2,2)
1575*59599516SKenneth E. Jansen     &             + Atau3(:,4,3) * A1(:,3,2)
1576*59599516SKenneth E. Jansen     &             + Atau3(:,4,4) * A1(:,4,2)
1577*59599516SKenneth E. Jansen     &             + Atau3(:,4,5) * A1(:,5,2)
1578*59599516SKenneth E. Jansenc
1579*59599516SKenneth E. Jansen          A0(:,4,3)=
1580*59599516SKenneth E. Jansenc     &             Atau1(:,4,1) * A3(:,1,3)
1581*59599516SKenneth E. Jansenc     &             + Atau1(:,4,2) * A3(:,2,3)
1582*59599516SKenneth E. Jansen     &              Atau1(:,4,3) * A3(:,3,3)
1583*59599516SKenneth E. Jansenc     &             + Atau1(:,4,4) * A3(:,4,3)
1584*59599516SKenneth E. Jansen     &             + Atau1(:,4,5) * A3(:,5,3)
1585*59599516SKenneth E. Jansenc     &             + Atau3(:,4,1) * A1(:,1,3)
1586*59599516SKenneth E. Jansenc     &             + Atau3(:,4,2) * A1(:,2,3)
1587*59599516SKenneth E. Jansen     &             + Atau3(:,4,3) * A1(:,3,3)
1588*59599516SKenneth E. Jansenc     &             + Atau3(:,4,4) * A1(:,4,3)
1589*59599516SKenneth E. Jansen     &             + Atau3(:,4,5) * A1(:,5,3)
1590*59599516SKenneth E. Jansenc
1591*59599516SKenneth E. Jansen          A0(:,4,4)=
1592*59599516SKenneth E. Jansen     &             Atau1(:,4,1) * A3(:,1,4)
1593*59599516SKenneth E. Jansen     &             + Atau1(:,4,2) * A3(:,2,4)
1594*59599516SKenneth E. Jansen     &             + Atau1(:,4,3) * A3(:,3,4)
1595*59599516SKenneth E. Jansen     &             + Atau1(:,4,4) * A3(:,4,4)
1596*59599516SKenneth E. Jansen     &             + Atau1(:,4,5) * A3(:,5,4)
1597*59599516SKenneth E. Jansenc     &             + Atau3(:,4,1) * A1(:,1,4)
1598*59599516SKenneth E. Jansenc     &             + Atau3(:,4,2) * A1(:,2,4)
1599*59599516SKenneth E. Jansenc     &             + Atau3(:,4,3) * A1(:,3,4)
1600*59599516SKenneth E. Jansen     &             + Atau3(:,4,4) * A1(:,4,4)
1601*59599516SKenneth E. Jansen     &             + Atau3(:,4,5) * A1(:,5,4)
1602*59599516SKenneth E. Jansenc
1603*59599516SKenneth E. Jansen          A0(:,4,5)=
1604*59599516SKenneth E. Jansen     &             Atau1(:,4,1) * A3(:,1,5)
1605*59599516SKenneth E. Jansen     &             + Atau1(:,4,2) * A3(:,2,5)
1606*59599516SKenneth E. Jansen     &             + Atau1(:,4,3) * A3(:,3,5)
1607*59599516SKenneth E. Jansen     &             + Atau1(:,4,4) * A3(:,4,5)
1608*59599516SKenneth E. Jansen     &             + Atau1(:,4,5) * A3(:,5,5)
1609*59599516SKenneth E. Jansen     &             + Atau3(:,4,1) * A1(:,1,5)
1610*59599516SKenneth E. Jansen     &             + Atau3(:,4,2) * A1(:,2,5)
1611*59599516SKenneth E. Jansen     &             + Atau3(:,4,3) * A1(:,3,5)
1612*59599516SKenneth E. Jansen     &             + Atau3(:,4,4) * A1(:,4,5)
1613*59599516SKenneth E. Jansen     &             + Atau3(:,4,5) * A1(:,5,5)
1614*59599516SKenneth E. Jansenc
1615*59599516SKenneth E. Jansenc  row five
1616*59599516SKenneth E. Jansenc
1617*59599516SKenneth E. Jansen
1618*59599516SKenneth E. Jansen          A0(:,5,1)=
1619*59599516SKenneth E. Jansen     &             Atau1(:,5,1) * A3(:,1,1)
1620*59599516SKenneth E. Jansen     &             + Atau1(:,5,2) * A3(:,2,1)
1621*59599516SKenneth E. Jansen     &             + Atau1(:,5,3) * A3(:,3,1)
1622*59599516SKenneth E. Jansen     &             + Atau1(:,5,4) * A3(:,4,1)
1623*59599516SKenneth E. Jansen     &             + Atau1(:,5,5) * A3(:,5,1)
1624*59599516SKenneth E. Jansen     &             + Atau3(:,5,1) * A1(:,1,1)
1625*59599516SKenneth E. Jansen     &             + Atau3(:,5,2) * A1(:,2,1)
1626*59599516SKenneth E. Jansen     &             + Atau3(:,5,3) * A1(:,3,1)
1627*59599516SKenneth E. Jansen     &             + Atau3(:,5,4) * A1(:,4,1)
1628*59599516SKenneth E. Jansen     &             + Atau3(:,5,5) * A1(:,5,1)
1629*59599516SKenneth E. Jansenc
1630*59599516SKenneth E. Jansen          A0(:,5,2)=
1631*59599516SKenneth E. Jansenc     &             Atau1(:,5,1) * A3(:,1,2)
1632*59599516SKenneth E. Jansen     &              Atau1(:,5,2) * A3(:,2,2)
1633*59599516SKenneth E. Jansenc     &             + Atau1(:,5,3) * A3(:,3,2)
1634*59599516SKenneth E. Jansenc     &             + Atau1(:,5,4) * A3(:,4,2)
1635*59599516SKenneth E. Jansen     &             + Atau1(:,5,5) * A3(:,5,2)
1636*59599516SKenneth E. Jansen     &             + Atau3(:,5,1) * A1(:,1,2)
1637*59599516SKenneth E. Jansen     &             + Atau3(:,5,2) * A1(:,2,2)
1638*59599516SKenneth E. Jansen     &             + Atau3(:,5,3) * A1(:,3,2)
1639*59599516SKenneth E. Jansen     &             + Atau3(:,5,4) * A1(:,4,2)
1640*59599516SKenneth E. Jansen     &             + Atau3(:,5,5) * A1(:,5,2)
1641*59599516SKenneth E. Jansenc
1642*59599516SKenneth E. Jansen          A0(:,5,3)=
1643*59599516SKenneth E. Jansenc     &             Atau1(:,5,1) * A3(:,1,3)
1644*59599516SKenneth E. Jansenc     &             + Atau1(:,5,2) * A3(:,2,3)
1645*59599516SKenneth E. Jansen     &              Atau1(:,5,3) * A3(:,3,3)
1646*59599516SKenneth E. Jansenc     &             + Atau1(:,5,4) * A3(:,4,3)
1647*59599516SKenneth E. Jansen     &             + Atau1(:,5,5) * A3(:,5,3)
1648*59599516SKenneth E. Jansenc     &             + Atau3(:,5,1) * A1(:,1,3)
1649*59599516SKenneth E. Jansenc     &             + Atau3(:,5,2) * A1(:,2,3)
1650*59599516SKenneth E. Jansen     &             + Atau3(:,5,3) * A1(:,3,3)
1651*59599516SKenneth E. Jansenc     &             + Atau3(:,5,4) * A1(:,4,3)
1652*59599516SKenneth E. Jansen     &             + Atau3(:,5,5) * A1(:,5,3)
1653*59599516SKenneth E. Jansenc
1654*59599516SKenneth E. Jansen          A0(:,5,4)=
1655*59599516SKenneth E. Jansen     &             Atau1(:,5,1) * A3(:,1,4)
1656*59599516SKenneth E. Jansen     &             + Atau1(:,5,2) * A3(:,2,4)
1657*59599516SKenneth E. Jansen     &             + Atau1(:,5,3) * A3(:,3,4)
1658*59599516SKenneth E. Jansen     &             + Atau1(:,5,4) * A3(:,4,4)
1659*59599516SKenneth E. Jansen     &             + Atau1(:,5,5) * A3(:,5,4)
1660*59599516SKenneth E. Jansenc     &             + Atau3(:,5,1) * A1(:,1,4)
1661*59599516SKenneth E. Jansenc     &             + Atau3(:,5,2) * A1(:,2,4)
1662*59599516SKenneth E. Jansenc     &             + Atau3(:,5,3) * A1(:,3,4)
1663*59599516SKenneth E. Jansen     &             + Atau3(:,5,4) * A1(:,4,4)
1664*59599516SKenneth E. Jansen     &             + Atau3(:,5,5) * A1(:,5,4)
1665*59599516SKenneth E. Jansen
1666*59599516SKenneth E. Jansenc
1667*59599516SKenneth E. Jansen          A0(:,5,5)=
1668*59599516SKenneth E. Jansen     &             Atau1(:,5,1) * A3(:,1,5)
1669*59599516SKenneth E. Jansen     &             + Atau1(:,5,2) * A3(:,2,5)
1670*59599516SKenneth E. Jansen     &             + Atau1(:,5,3) * A3(:,3,5)
1671*59599516SKenneth E. Jansen     &             + Atau1(:,5,4) * A3(:,4,5)
1672*59599516SKenneth E. Jansen     &             + Atau1(:,5,5) * A3(:,5,5)
1673*59599516SKenneth E. Jansen     &             + Atau3(:,5,1) * A1(:,1,5)
1674*59599516SKenneth E. Jansen     &             + Atau3(:,5,2) * A1(:,2,5)
1675*59599516SKenneth E. Jansen     &             + Atau3(:,5,3) * A1(:,3,5)
1676*59599516SKenneth E. Jansen     &             + Atau3(:,5,4) * A1(:,4,5)
1677*59599516SKenneth E. Jansen     &             + Atau3(:,5,5) * A1(:,5,5)
1678*59599516SKenneth E. Jansen
1679*59599516SKenneth E. Jansenc
1680*59599516SKenneth E. Jansen        else
1681*59599516SKenneth E. Jansen           A0 = zero
1682*59599516SKenneth E. Jansen        endif
1683*59599516SKenneth E. Jansenc
1684*59599516SKenneth E. Jansen        if (Navier .eq. 1) then
1685*59599516SKenneth E. Jansen           A0(:,2,4) = A0(:,2,4) + rlm2mu - rmu
1686*59599516SKenneth E. Jansen           A0(:,4,2) = A0(:,4,2) + rlm2mu - rmu
1687*59599516SKenneth E. Jansen           A0(:,5,2) = A0(:,5,2) + (rlm2mu-rmu) * u3
1688*59599516SKenneth E. Jansen           A0(:,5,4) = A0(:,5,4) + (rlm2mu-rmu) * u1
1689*59599516SKenneth E. Jansen        endif
1690*59599516SKenneth E. Jansenc
1691*59599516SKenneth E. Jansen        do j = 1, nshl
1692*59599516SKenneth E. Jansen          tmp = WdetJ * shg(:,j,1) * shg(:,j,3)
1693*59599516SKenneth E. Jansen           do i=1,nflow
1694*59599516SKenneth E. Jansen           do k=1,nflow
1695*59599516SKenneth E. Jansen             BDiagl(:,j,i,k) = BDiagl(:,j,i,k) + tmp * A0(:,i,k)
1696*59599516SKenneth E. Jansen           enddo
1697*59599516SKenneth E. Jansen           enddo
1698*59599516SKenneth E. Jansen         enddo
1699*59599516SKenneth E. Jansenc
1700*59599516SKenneth E. Jansenc now for the 2 3  plus 3 2
1701*59599516SKenneth E. Jansenc
1702*59599516SKenneth E. Jansen         if(ivart.ge.2) then
1703*59599516SKenneth E. Jansenc
1704*59599516SKenneth E. Jansenc     row one
1705*59599516SKenneth E. Jansenc
1706*59599516SKenneth E. Jansen            A0(:,1,1)=
1707*59599516SKenneth E. Jansen     &            Atau2(:,1,1) * A3(:,1,1)
1708*59599516SKenneth E. Jansen     &            + Atau2(:,1,2) * A3(:,2,1)
1709*59599516SKenneth E. Jansen     &            + Atau2(:,1,3) * A3(:,3,1)
1710*59599516SKenneth E. Jansen     &            + Atau2(:,1,4) * A3(:,4,1)
1711*59599516SKenneth E. Jansen     &            + Atau2(:,1,5) * A3(:,5,1)
1712*59599516SKenneth E. Jansen     &            + Atau3(:,1,1) * A2(:,1,1)
1713*59599516SKenneth E. Jansen     &            + Atau3(:,1,2) * A2(:,2,1)
1714*59599516SKenneth E. Jansen     &            + Atau3(:,1,3) * A2(:,3,1)
1715*59599516SKenneth E. Jansen     &            + Atau3(:,1,4) * A2(:,4,1)
1716*59599516SKenneth E. Jansen     &            + Atau3(:,1,5) * A2(:,5,1)
1717*59599516SKenneth E. Jansenc
1718*59599516SKenneth E. Jansen            A0(:,1,2) =
1719*59599516SKenneth E. Jansenc     &             Atau2(:,1,1) * A3(:,1,2)
1720*59599516SKenneth E. Jansen     &             Atau2(:,1,2) * A3(:,2,2)
1721*59599516SKenneth E. Jansenc     &            + Atau2(:,1,3) * A3(:,3,2)
1722*59599516SKenneth E. Jansenc     &            + Atau2(:,1,4) * A3(:,4,2)
1723*59599516SKenneth E. Jansen     &            + Atau2(:,1,5) * A3(:,5,2)
1724*59599516SKenneth E. Jansenc     &            + Atau3(:,1,1) * A2(:,1,2)
1725*59599516SKenneth E. Jansen     &            + Atau3(:,1,2) * A2(:,2,2)
1726*59599516SKenneth E. Jansenc     &            + Atau3(:,1,3) * A2(:,3,2)
1727*59599516SKenneth E. Jansenc     &            + Atau3(:,1,4) * A2(:,4,2)
1728*59599516SKenneth E. Jansen     &            + Atau3(:,1,5) * A2(:,5,2)
1729*59599516SKenneth E. Jansen
1730*59599516SKenneth E. Jansenc
1731*59599516SKenneth E. Jansen          A0(:,1,3) =
1732*59599516SKenneth E. Jansenc     &             Atau2(:,1,1) * A3(:,1,3)
1733*59599516SKenneth E. Jansenc     &            + Atau2(:,1,2) * A3(:,2,3)
1734*59599516SKenneth E. Jansen     &             Atau2(:,1,3) * A3(:,3,3)
1735*59599516SKenneth E. Jansenc     &            + Atau2(:,1,4) * A3(:,4,3)
1736*59599516SKenneth E. Jansen     &            + Atau2(:,1,5) * A3(:,5,3)
1737*59599516SKenneth E. Jansen     &            + Atau3(:,1,1) * A2(:,1,3)
1738*59599516SKenneth E. Jansen     &            + Atau3(:,1,2) * A2(:,2,3)
1739*59599516SKenneth E. Jansen     &            + Atau3(:,1,3) * A2(:,3,3)
1740*59599516SKenneth E. Jansen     &            + Atau3(:,1,4) * A2(:,4,3)
1741*59599516SKenneth E. Jansen     &            + Atau3(:,1,5) * A2(:,5,3)
1742*59599516SKenneth E. Jansenc
1743*59599516SKenneth E. Jansen          A0(:,1,4)=
1744*59599516SKenneth E. Jansen     &            Atau2(:,1,1) * A3(:,1,4)
1745*59599516SKenneth E. Jansen     &            + Atau2(:,1,2) * A3(:,2,4)
1746*59599516SKenneth E. Jansen     &            + Atau2(:,1,3) * A3(:,3,4)
1747*59599516SKenneth E. Jansen     &            + Atau2(:,1,4) * A3(:,4,4)
1748*59599516SKenneth E. Jansen     &            + Atau2(:,1,5) * A3(:,5,4)
1749*59599516SKenneth E. Jansenc     &            + Atau3(:,1,1) * A2(:,1,4)
1750*59599516SKenneth E. Jansenc     &            + Atau3(:,1,2) * A2(:,2,4)
1751*59599516SKenneth E. Jansenc     &            + Atau3(:,1,3) * A2(:,3,4)
1752*59599516SKenneth E. Jansen     &            + Atau3(:,1,4) * A2(:,4,4)
1753*59599516SKenneth E. Jansen     &            + Atau3(:,1,5) * A2(:,5,4)
1754*59599516SKenneth E. Jansenc
1755*59599516SKenneth E. Jansen          A0(:,1,5)=
1756*59599516SKenneth E. Jansen     &             Atau2(:,1,1) * A3(:,1,5)
1757*59599516SKenneth E. Jansen     &             + Atau2(:,1,2) * A3(:,2,5)
1758*59599516SKenneth E. Jansen     &             + Atau2(:,1,3) * A3(:,3,5)
1759*59599516SKenneth E. Jansen     &             + Atau2(:,1,4) * A3(:,4,5)
1760*59599516SKenneth E. Jansen     &             + Atau2(:,1,5) * A3(:,5,5)
1761*59599516SKenneth E. Jansen     &             + Atau3(:,1,1) * A2(:,1,5)
1762*59599516SKenneth E. Jansen     &             + Atau3(:,1,2) * A2(:,2,5)
1763*59599516SKenneth E. Jansen     &             + Atau3(:,1,3) * A2(:,3,5)
1764*59599516SKenneth E. Jansen     &             + Atau3(:,1,4) * A2(:,4,5)
1765*59599516SKenneth E. Jansen     &             + Atau3(:,1,5) * A2(:,5,5)
1766*59599516SKenneth E. Jansenc
1767*59599516SKenneth E. Jansenc  row two
1768*59599516SKenneth E. Jansenc
1769*59599516SKenneth E. Jansen          A0(:,2,1)=
1770*59599516SKenneth E. Jansen     &             Atau2(:,2,1) * A3(:,1,1)
1771*59599516SKenneth E. Jansen     &             + Atau2(:,2,2) * A3(:,2,1)
1772*59599516SKenneth E. Jansen     &             + Atau2(:,2,3) * A3(:,3,1)
1773*59599516SKenneth E. Jansen     &             + Atau2(:,2,4) * A3(:,4,1)
1774*59599516SKenneth E. Jansen     &             + Atau2(:,2,5) * A3(:,5,1)
1775*59599516SKenneth E. Jansen     &             + Atau3(:,2,1) * A2(:,1,1)
1776*59599516SKenneth E. Jansen     &             + Atau3(:,2,2) * A2(:,2,1)
1777*59599516SKenneth E. Jansen     &             + Atau3(:,2,3) * A2(:,3,1)
1778*59599516SKenneth E. Jansen     &             + Atau3(:,2,4) * A2(:,4,1)
1779*59599516SKenneth E. Jansen     &             + Atau3(:,2,5) * A2(:,5,1)
1780*59599516SKenneth E. Jansenc
1781*59599516SKenneth E. Jansen          A0(:,2,2)=
1782*59599516SKenneth E. Jansenc     &             Atau2(:,2,1) * A3(:,1,2)
1783*59599516SKenneth E. Jansen     &              Atau2(:,2,2) * A3(:,2,2)
1784*59599516SKenneth E. Jansenc     &             + Atau2(:,2,3) * A3(:,3,2)
1785*59599516SKenneth E. Jansenc     &             + Atau2(:,2,4) * A3(:,4,2)
1786*59599516SKenneth E. Jansen     &             + Atau2(:,2,5) * A3(:,5,2)
1787*59599516SKenneth E. Jansenc     &             + Atau3(:,2,1) * A2(:,1,2)
1788*59599516SKenneth E. Jansen     &             + Atau3(:,2,2) * A2(:,2,2)
1789*59599516SKenneth E. Jansenc     &             + Atau3(:,2,3) * A2(:,3,2)
1790*59599516SKenneth E. Jansenc     &             + Atau3(:,2,4) * A2(:,4,2)
1791*59599516SKenneth E. Jansen     &             + Atau3(:,2,5) * A2(:,5,2)
1792*59599516SKenneth E. Jansenc
1793*59599516SKenneth E. Jansen          A0(:,2,3)=
1794*59599516SKenneth E. Jansenc     &             Atau2(:,2,1) * A3(:,1,3)
1795*59599516SKenneth E. Jansenc     &             + Atau2(:,2,2) * A3(:,2,3)
1796*59599516SKenneth E. Jansen     &              Atau2(:,2,3) * A3(:,3,3)
1797*59599516SKenneth E. Jansenc     &             + Atau2(:,2,4) * A3(:,4,3)
1798*59599516SKenneth E. Jansen     &             + Atau2(:,2,5) * A3(:,5,3)
1799*59599516SKenneth E. Jansen     &             + Atau3(:,2,1) * A2(:,1,3)
1800*59599516SKenneth E. Jansen     &             + Atau3(:,2,2) * A2(:,2,3)
1801*59599516SKenneth E. Jansen     &             + Atau3(:,2,3) * A2(:,3,3)
1802*59599516SKenneth E. Jansen     &             + Atau3(:,2,4) * A2(:,4,3)
1803*59599516SKenneth E. Jansen     &             + Atau3(:,2,5) * A2(:,5,3)
1804*59599516SKenneth E. Jansenc
1805*59599516SKenneth E. Jansen          A0(:,2,4)=
1806*59599516SKenneth E. Jansen     &             Atau2(:,2,1) * A3(:,1,4)
1807*59599516SKenneth E. Jansen     &             + Atau2(:,2,2) * A3(:,2,4)
1808*59599516SKenneth E. Jansen     &             + Atau2(:,2,3) * A3(:,3,4)
1809*59599516SKenneth E. Jansen     &             + Atau2(:,2,4) * A3(:,4,4)
1810*59599516SKenneth E. Jansen     &             + Atau2(:,2,5) * A3(:,5,4)
1811*59599516SKenneth E. Jansenc     &             + Atau3(:,2,1) * A2(:,1,4)
1812*59599516SKenneth E. Jansenc     &             + Atau3(:,2,2) * A2(:,2,4)
1813*59599516SKenneth E. Jansenc     &             + Atau3(:,2,3) * A2(:,3,4)
1814*59599516SKenneth E. Jansen     &             + Atau3(:,2,4) * A2(:,4,4)
1815*59599516SKenneth E. Jansen     &             + Atau3(:,2,5) * A2(:,5,4)
1816*59599516SKenneth E. Jansen
1817*59599516SKenneth E. Jansenc
1818*59599516SKenneth E. Jansen          A0(:,2,5)=
1819*59599516SKenneth E. Jansen     &             Atau2(:,2,1) * A3(:,1,5)
1820*59599516SKenneth E. Jansen     &             + Atau2(:,2,2) * A3(:,2,5)
1821*59599516SKenneth E. Jansen     &             + Atau2(:,2,3) * A3(:,3,5)
1822*59599516SKenneth E. Jansen     &             + Atau2(:,2,4) * A3(:,4,5)
1823*59599516SKenneth E. Jansen     &             + Atau2(:,2,5) * A3(:,5,5)
1824*59599516SKenneth E. Jansen     &             + Atau3(:,2,1) * A2(:,1,5)
1825*59599516SKenneth E. Jansen     &             + Atau3(:,2,2) * A2(:,2,5)
1826*59599516SKenneth E. Jansen     &             + Atau3(:,2,3) * A2(:,3,5)
1827*59599516SKenneth E. Jansen     &             + Atau3(:,2,4) * A2(:,4,5)
1828*59599516SKenneth E. Jansen     &             + Atau3(:,2,5) * A2(:,5,5)
1829*59599516SKenneth E. Jansen
1830*59599516SKenneth E. Jansenc
1831*59599516SKenneth E. Jansenc  row three
1832*59599516SKenneth E. Jansenc
1833*59599516SKenneth E. Jansen          A0(:,3,1)=
1834*59599516SKenneth E. Jansen     &             Atau2(:,3,1) * A3(:,1,1)
1835*59599516SKenneth E. Jansen     &             + Atau2(:,3,2) * A3(:,2,1)
1836*59599516SKenneth E. Jansen     &             + Atau2(:,3,3) * A3(:,3,1)
1837*59599516SKenneth E. Jansen     &             + Atau2(:,3,4) * A3(:,4,1)
1838*59599516SKenneth E. Jansen     &             + Atau2(:,3,5) * A3(:,5,1)
1839*59599516SKenneth E. Jansen     &             + Atau3(:,3,1) * A2(:,1,1)
1840*59599516SKenneth E. Jansen     &             + Atau3(:,3,2) * A2(:,2,1)
1841*59599516SKenneth E. Jansen     &             + Atau3(:,3,3) * A2(:,3,1)
1842*59599516SKenneth E. Jansen     &             + Atau3(:,3,4) * A2(:,4,1)
1843*59599516SKenneth E. Jansen     &             + Atau3(:,3,5) * A2(:,5,1)
1844*59599516SKenneth E. Jansen
1845*59599516SKenneth E. Jansenc
1846*59599516SKenneth E. Jansen          A0(:,3,2)=
1847*59599516SKenneth E. Jansenc     &             Atau2(:,3,1) * A3(:,1,2)
1848*59599516SKenneth E. Jansen     &              Atau2(:,3,2) * A3(:,2,2)
1849*59599516SKenneth E. Jansenc     &             + Atau2(:,3,3) * A3(:,3,2)
1850*59599516SKenneth E. Jansenc     &             + Atau2(:,3,4) * A3(:,4,2)
1851*59599516SKenneth E. Jansen     &             + Atau2(:,3,5) * A3(:,5,2)
1852*59599516SKenneth E. Jansenc     &             + Atau3(:,3,1) * A2(:,1,2)
1853*59599516SKenneth E. Jansen     &             + Atau3(:,3,2) * A2(:,2,2)
1854*59599516SKenneth E. Jansenc     &             + Atau3(:,3,3) * A2(:,3,2)
1855*59599516SKenneth E. Jansenc     &             + Atau3(:,3,4) * A2(:,4,2)
1856*59599516SKenneth E. Jansen     &             + Atau3(:,3,5) * A2(:,5,2)
1857*59599516SKenneth E. Jansenc
1858*59599516SKenneth E. Jansen          A0(:,3,3)=
1859*59599516SKenneth E. Jansenc     &             Atau2(:,3,1) * A3(:,1,3)
1860*59599516SKenneth E. Jansenc     &             + Atau2(:,3,2) * A3(:,2,3)
1861*59599516SKenneth E. Jansen     &              Atau2(:,3,3) * A3(:,3,3)
1862*59599516SKenneth E. Jansenc     &             + Atau2(:,3,4) * A3(:,4,3)
1863*59599516SKenneth E. Jansen     &             + Atau2(:,3,5) * A3(:,5,3)
1864*59599516SKenneth E. Jansen     &             + Atau3(:,3,1) * A2(:,1,3)
1865*59599516SKenneth E. Jansen     &             + Atau3(:,3,2) * A2(:,2,3)
1866*59599516SKenneth E. Jansen     &             + Atau3(:,3,3) * A2(:,3,3)
1867*59599516SKenneth E. Jansen     &             + Atau3(:,3,4) * A2(:,4,3)
1868*59599516SKenneth E. Jansen     &             + Atau3(:,3,5) * A2(:,5,3)
1869*59599516SKenneth E. Jansenc
1870*59599516SKenneth E. Jansen          A0(:,3,4)=
1871*59599516SKenneth E. Jansen     &             Atau2(:,3,1) * A3(:,1,4)
1872*59599516SKenneth E. Jansen     &             + Atau2(:,3,2) * A3(:,2,4)
1873*59599516SKenneth E. Jansen     &             + Atau2(:,3,3) * A3(:,3,4)
1874*59599516SKenneth E. Jansen     &             + Atau2(:,3,4) * A3(:,4,4)
1875*59599516SKenneth E. Jansen     &             + Atau2(:,3,5) * A3(:,5,4)
1876*59599516SKenneth E. Jansenc     &             + Atau3(:,3,1) * A2(:,1,4)
1877*59599516SKenneth E. Jansenc     &             + Atau3(:,3,2) * A2(:,2,4)
1878*59599516SKenneth E. Jansenc     &             + Atau3(:,3,3) * A2(:,3,4)
1879*59599516SKenneth E. Jansen     &             + Atau3(:,3,4) * A2(:,4,4)
1880*59599516SKenneth E. Jansen     &             + Atau3(:,3,5) * A2(:,5,4)
1881*59599516SKenneth E. Jansenc
1882*59599516SKenneth E. Jansen          A0(:,3,5)=
1883*59599516SKenneth E. Jansen     &             Atau2(:,3,1) * A3(:,1,5)
1884*59599516SKenneth E. Jansen     &             + Atau2(:,3,2) * A3(:,2,5)
1885*59599516SKenneth E. Jansen     &             + Atau2(:,3,3) * A3(:,3,5)
1886*59599516SKenneth E. Jansen     &             + Atau2(:,3,4) * A3(:,4,5)
1887*59599516SKenneth E. Jansen     &             + Atau2(:,3,5) * A3(:,5,5)
1888*59599516SKenneth E. Jansen     &             + Atau3(:,3,1) * A2(:,1,5)
1889*59599516SKenneth E. Jansen     &             + Atau3(:,3,2) * A2(:,2,5)
1890*59599516SKenneth E. Jansen     &             + Atau3(:,3,3) * A2(:,3,5)
1891*59599516SKenneth E. Jansen     &             + Atau3(:,3,4) * A2(:,4,5)
1892*59599516SKenneth E. Jansen     &             + Atau3(:,3,5) * A2(:,5,5)
1893*59599516SKenneth E. Jansen
1894*59599516SKenneth E. Jansen
1895*59599516SKenneth E. Jansenc
1896*59599516SKenneth E. Jansenc  row four
1897*59599516SKenneth E. Jansenc
1898*59599516SKenneth E. Jansen          A0(:,4,1)=
1899*59599516SKenneth E. Jansen     &             Atau2(:,4,1) * A3(:,1,1)
1900*59599516SKenneth E. Jansen     &             + Atau2(:,4,2) * A3(:,2,1)
1901*59599516SKenneth E. Jansen     &             + Atau2(:,4,3) * A3(:,3,1)
1902*59599516SKenneth E. Jansen     &             + Atau2(:,4,4) * A3(:,4,1)
1903*59599516SKenneth E. Jansen     &             + Atau2(:,4,5) * A3(:,5,1)
1904*59599516SKenneth E. Jansen     &             + Atau3(:,4,1) * A2(:,1,1)
1905*59599516SKenneth E. Jansen     &             + Atau3(:,4,2) * A2(:,2,1)
1906*59599516SKenneth E. Jansen     &             + Atau3(:,4,3) * A2(:,3,1)
1907*59599516SKenneth E. Jansen     &             + Atau3(:,4,4) * A2(:,4,1)
1908*59599516SKenneth E. Jansen     &             + Atau3(:,4,5) * A2(:,5,1)
1909*59599516SKenneth E. Jansenc
1910*59599516SKenneth E. Jansen          A0(:,4,2)=
1911*59599516SKenneth E. Jansenc     &             Atau2(:,4,1) * A3(:,1,2)
1912*59599516SKenneth E. Jansen     &              Atau2(:,4,2) * A3(:,2,2)
1913*59599516SKenneth E. Jansenc     &             + Atau2(:,4,3) * A3(:,3,2)
1914*59599516SKenneth E. Jansenc     &             + Atau2(:,4,4) * A3(:,4,2)
1915*59599516SKenneth E. Jansen     &             + Atau2(:,4,5) * A3(:,5,2)
1916*59599516SKenneth E. Jansenc     &             + Atau3(:,4,1) * A2(:,1,2)
1917*59599516SKenneth E. Jansen     &             + Atau3(:,4,2) * A2(:,2,2)
1918*59599516SKenneth E. Jansenc     &             + Atau3(:,4,3) * A2(:,3,2)
1919*59599516SKenneth E. Jansenc     &             + Atau3(:,4,4) * A2(:,4,2)
1920*59599516SKenneth E. Jansen     &             + Atau3(:,4,5) * A2(:,5,2)
1921*59599516SKenneth E. Jansenc
1922*59599516SKenneth E. Jansen          A0(:,4,3)=
1923*59599516SKenneth E. Jansenc     &             Atau2(:,4,1) * A3(:,1,3)
1924*59599516SKenneth E. Jansenc     &             + Atau2(:,4,2) * A3(:,2,3)
1925*59599516SKenneth E. Jansen     &              Atau2(:,4,3) * A3(:,3,3)
1926*59599516SKenneth E. Jansenc     &             + Atau2(:,4,4) * A3(:,4,3)
1927*59599516SKenneth E. Jansen     &             + Atau2(:,4,5) * A3(:,5,3)
1928*59599516SKenneth E. Jansen     &             + Atau3(:,4,1) * A2(:,1,3)
1929*59599516SKenneth E. Jansen     &             + Atau3(:,4,2) * A2(:,2,3)
1930*59599516SKenneth E. Jansen     &             + Atau3(:,4,3) * A2(:,3,3)
1931*59599516SKenneth E. Jansen     &             + Atau3(:,4,4) * A2(:,4,3)
1932*59599516SKenneth E. Jansen     &             + Atau3(:,4,5) * A2(:,5,3)
1933*59599516SKenneth E. Jansenc
1934*59599516SKenneth E. Jansen          A0(:,4,4)=
1935*59599516SKenneth E. Jansen     &             Atau2(:,4,1) * A3(:,1,4)
1936*59599516SKenneth E. Jansen     &             + Atau2(:,4,2) * A3(:,2,4)
1937*59599516SKenneth E. Jansen     &             + Atau2(:,4,3) * A3(:,3,4)
1938*59599516SKenneth E. Jansen     &             + Atau2(:,4,4) * A3(:,4,4)
1939*59599516SKenneth E. Jansen     &             + Atau2(:,4,5) * A3(:,5,4)
1940*59599516SKenneth E. Jansenc     &             + Atau3(:,4,1) * A2(:,1,4)
1941*59599516SKenneth E. Jansenc     &             + Atau3(:,4,2) * A2(:,2,4)
1942*59599516SKenneth E. Jansenc     &             + Atau3(:,4,3) * A2(:,3,4)
1943*59599516SKenneth E. Jansen     &             + Atau3(:,4,4) * A2(:,4,4)
1944*59599516SKenneth E. Jansen     &             + Atau3(:,4,5) * A2(:,5,4)
1945*59599516SKenneth E. Jansenc
1946*59599516SKenneth E. Jansen          A0(:,4,5)=
1947*59599516SKenneth E. Jansen     &             Atau2(:,4,1) * A3(:,1,5)
1948*59599516SKenneth E. Jansen     &             + Atau2(:,4,2) * A3(:,2,5)
1949*59599516SKenneth E. Jansen     &             + Atau2(:,4,3) * A3(:,3,5)
1950*59599516SKenneth E. Jansen     &             + Atau2(:,4,4) * A3(:,4,5)
1951*59599516SKenneth E. Jansen     &             + Atau2(:,4,5) * A3(:,5,5)
1952*59599516SKenneth E. Jansen     &             + Atau3(:,4,1) * A2(:,1,5)
1953*59599516SKenneth E. Jansen     &             + Atau3(:,4,2) * A2(:,2,5)
1954*59599516SKenneth E. Jansen     &             + Atau3(:,4,3) * A2(:,3,5)
1955*59599516SKenneth E. Jansen     &             + Atau3(:,4,4) * A2(:,4,5)
1956*59599516SKenneth E. Jansen     &             + Atau3(:,4,5) * A2(:,5,5)
1957*59599516SKenneth E. Jansenc
1958*59599516SKenneth E. Jansenc  row five
1959*59599516SKenneth E. Jansenc
1960*59599516SKenneth E. Jansen
1961*59599516SKenneth E. Jansen          A0(:,5,1)=
1962*59599516SKenneth E. Jansen     &             Atau2(:,5,1) * A3(:,1,1)
1963*59599516SKenneth E. Jansen     &             + Atau2(:,5,2) * A3(:,2,1)
1964*59599516SKenneth E. Jansen     &             + Atau2(:,5,3) * A3(:,3,1)
1965*59599516SKenneth E. Jansen     &             + Atau2(:,5,4) * A3(:,4,1)
1966*59599516SKenneth E. Jansen     &             + Atau2(:,5,5) * A3(:,5,1)
1967*59599516SKenneth E. Jansen     &             + Atau3(:,5,1) * A2(:,1,1)
1968*59599516SKenneth E. Jansen     &             + Atau3(:,5,2) * A2(:,2,1)
1969*59599516SKenneth E. Jansen     &             + Atau3(:,5,3) * A2(:,3,1)
1970*59599516SKenneth E. Jansen     &             + Atau3(:,5,4) * A2(:,4,1)
1971*59599516SKenneth E. Jansen     &             + Atau3(:,5,5) * A2(:,5,1)
1972*59599516SKenneth E. Jansenc
1973*59599516SKenneth E. Jansen          A0(:,5,2)=
1974*59599516SKenneth E. Jansenc     &             Atau2(:,5,1) * A3(:,1,2)
1975*59599516SKenneth E. Jansen     &              Atau2(:,5,2) * A3(:,2,2)
1976*59599516SKenneth E. Jansenc     &             + Atau2(:,5,3) * A3(:,3,2)
1977*59599516SKenneth E. Jansenc     &             + Atau2(:,5,4) * A3(:,4,2)
1978*59599516SKenneth E. Jansen     &             + Atau2(:,5,5) * A3(:,5,2)
1979*59599516SKenneth E. Jansenc     &             + Atau3(:,5,1) * A2(:,1,2)
1980*59599516SKenneth E. Jansen     &             + Atau3(:,5,2) * A2(:,2,2)
1981*59599516SKenneth E. Jansenc     &             + Atau3(:,5,3) * A2(:,3,2)
1982*59599516SKenneth E. Jansenc     &             + Atau3(:,5,4) * A2(:,4,2)
1983*59599516SKenneth E. Jansen     &             + Atau3(:,5,5) * A2(:,5,2)
1984*59599516SKenneth E. Jansenc
1985*59599516SKenneth E. Jansen          A0(:,5,3)=
1986*59599516SKenneth E. Jansenc     &             Atau2(:,5,1) * A3(:,1,3)
1987*59599516SKenneth E. Jansenc     &             + Atau2(:,5,2) * A3(:,2,3)
1988*59599516SKenneth E. Jansen     &              Atau2(:,5,3) * A3(:,3,3)
1989*59599516SKenneth E. Jansenc     &             + Atau2(:,5,4) * A3(:,4,3)
1990*59599516SKenneth E. Jansen     &             + Atau2(:,5,5) * A3(:,5,3)
1991*59599516SKenneth E. Jansen     &             + Atau3(:,5,1) * A2(:,1,3)
1992*59599516SKenneth E. Jansen     &             + Atau3(:,5,2) * A2(:,2,3)
1993*59599516SKenneth E. Jansen     &             + Atau3(:,5,3) * A2(:,3,3)
1994*59599516SKenneth E. Jansen     &             + Atau3(:,5,4) * A2(:,4,3)
1995*59599516SKenneth E. Jansen     &             + Atau3(:,5,5) * A2(:,5,3)
1996*59599516SKenneth E. Jansenc
1997*59599516SKenneth E. Jansen          A0(:,5,4)=
1998*59599516SKenneth E. Jansen     &             Atau2(:,5,1) * A3(:,1,4)
1999*59599516SKenneth E. Jansen     &             + Atau2(:,5,2) * A3(:,2,4)
2000*59599516SKenneth E. Jansen     &             + Atau2(:,5,3) * A3(:,3,4)
2001*59599516SKenneth E. Jansen     &             + Atau2(:,5,4) * A3(:,4,4)
2002*59599516SKenneth E. Jansen     &             + Atau2(:,5,5) * A3(:,5,4)
2003*59599516SKenneth E. Jansenc     &             + Atau3(:,5,1) * A2(:,1,4)
2004*59599516SKenneth E. Jansenc     &             + Atau3(:,5,2) * A2(:,2,4)
2005*59599516SKenneth E. Jansenc     &             + Atau3(:,5,3) * A2(:,3,4)
2006*59599516SKenneth E. Jansen     &             + Atau3(:,5,4) * A2(:,4,4)
2007*59599516SKenneth E. Jansen     &             + Atau3(:,5,5) * A2(:,5,4)
2008*59599516SKenneth E. Jansen
2009*59599516SKenneth E. Jansenc
2010*59599516SKenneth E. Jansen          A0(:,5,5)=
2011*59599516SKenneth E. Jansen     &             Atau2(:,5,1) * A3(:,1,5)
2012*59599516SKenneth E. Jansen     &             + Atau2(:,5,2) * A3(:,2,5)
2013*59599516SKenneth E. Jansen     &             + Atau2(:,5,3) * A3(:,3,5)
2014*59599516SKenneth E. Jansen     &             + Atau2(:,5,4) * A3(:,4,5)
2015*59599516SKenneth E. Jansen     &             + Atau2(:,5,5) * A3(:,5,5)
2016*59599516SKenneth E. Jansen     &             + Atau3(:,5,1) * A2(:,1,5)
2017*59599516SKenneth E. Jansen     &             + Atau3(:,5,2) * A2(:,2,5)
2018*59599516SKenneth E. Jansen     &             + Atau3(:,5,3) * A2(:,3,5)
2019*59599516SKenneth E. Jansen     &             + Atau3(:,5,4) * A2(:,4,5)
2020*59599516SKenneth E. Jansen     &             + Atau3(:,5,5) * A2(:,5,5)
2021*59599516SKenneth E. Jansen
2022*59599516SKenneth E. Jansenc
2023*59599516SKenneth E. Jansen       else
2024*59599516SKenneth E. Jansen          A0 = zero
2025*59599516SKenneth E. Jansen       endif
2026*59599516SKenneth E. Jansenc
2027*59599516SKenneth E. Jansen        if (Navier .eq. 1) then
2028*59599516SKenneth E. Jansen           A0(:,3,4) = A0(:,3,4) + rlm2mu - rmu
2029*59599516SKenneth E. Jansen           A0(:,4,3) = A0(:,4,3) + rlm2mu - rmu
2030*59599516SKenneth E. Jansen           A0(:,5,3) = A0(:,5,3) + (rlm2mu-rmu) * u3
2031*59599516SKenneth E. Jansen           A0(:,5,4) = A0(:,5,4) + (rlm2mu-rmu) * u2
2032*59599516SKenneth E. Jansen        endif
2033*59599516SKenneth E. Jansen
2034*59599516SKenneth E. Jansen        do j = 1, nshl
2035*59599516SKenneth E. Jansen          tmp = WdetJ * shg(:,j,2) * shg(:,j,3)
2036*59599516SKenneth E. Jansen           do i=1,nflow
2037*59599516SKenneth E. Jansen           do k=1,nflow
2038*59599516SKenneth E. Jansen             BDiagl(:,j,i,k) = BDiagl(:,j,i,k) + tmp * A0(:,i,k)
2039*59599516SKenneth E. Jansen           enddo
2040*59599516SKenneth E. Jansen           enddo
2041*59599516SKenneth E. Jansen        enddo
2042*59599516SKenneth E. Jansen
2043*59599516SKenneth E. Jansen	ttim(30) = ttim(30) + tmr()
2044*59599516SKenneth E. Jansen
2045*59599516SKenneth E. Jansen        return
2046*59599516SKenneth E. Jansen        end
2047*59599516SKenneth E. Jansen
2048*59599516SKenneth E. Jansen
2049