20 integer(kind=kint) :: N
21 real(kind=
kreal),
pointer :: alu(:) => null()
29 integer(kind=kint ) :: np
30 real (kind=
kreal) :: sigma_diag
31 real(kind=
kreal),
pointer:: d(:)
33 real (kind=
kreal):: alutmp(6,6), pw(6)
34 integer(kind=kint ):: ii, i, j, k
45 alu(36*ii-35) = d(36*ii-35)
46 alu(36*ii-34) = d(36*ii-34)
47 alu(36*ii-33) = d(36*ii-33)
48 alu(36*ii-32) = d(36*ii-32)
49 alu(36*ii-31) = d(36*ii-31)
50 alu(36*ii-30) = d(36*ii-30)
51 alu(36*ii-29) = d(36*ii-29)
52 alu(36*ii-28) = d(36*ii-28)
53 alu(36*ii-27) = d(36*ii-27)
54 alu(36*ii-26) = d(36*ii-26)
55 alu(36*ii-25) = d(36*ii-25)
56 alu(36*ii-24) = d(36*ii-24)
57 alu(36*ii-23) = d(36*ii-23)
58 alu(36*ii-22) = d(36*ii-22)
59 alu(36*ii-21) = d(36*ii-21)
60 alu(36*ii-20) = d(36*ii-20)
61 alu(36*ii-19) = d(36*ii-19)
62 alu(36*ii-18) = d(36*ii-18)
63 alu(36*ii-17) = d(36*ii-17)
64 alu(36*ii-16) = d(36*ii-16)
65 alu(36*ii-15) = d(36*ii-15)
66 alu(36*ii-14) = d(36*ii-14)
67 alu(36*ii-13) = d(36*ii-13)
68 alu(36*ii-12) = d(36*ii-12)
69 alu(36*ii-11) = d(36*ii-11)
70 alu(36*ii-10) = d(36*ii-10)
71 alu(36*ii-9 ) = d(36*ii-9 )
72 alu(36*ii-8 ) = d(36*ii-8 )
73 alu(36*ii-7 ) = d(36*ii-7 )
74 alu(36*ii-6 ) = d(36*ii-6 )
75 alu(36*ii-5 ) = d(36*ii-5 )
76 alu(36*ii-4 ) = d(36*ii-4 )
77 alu(36*ii-3 ) = d(36*ii-3 )
78 alu(36*ii-2 ) = d(36*ii-2 )
79 alu(36*ii-1 ) = d(36*ii-1 )
80 alu(36*ii ) = d(36*ii )
86 alutmp(1,1)= alu(36*ii-35) * sigma_diag
87 alutmp(1,2)= alu(36*ii-34)
88 alutmp(1,3)= alu(36*ii-33)
89 alutmp(1,4)= alu(36*ii-32)
90 alutmp(1,5)= alu(36*ii-31)
91 alutmp(1,6)= alu(36*ii-30)
93 alutmp(2,1)= alu(36*ii-29)
94 alutmp(2,2)= alu(36*ii-28) * sigma_diag
95 alutmp(2,3)= alu(36*ii-27)
96 alutmp(2,4)= alu(36*ii-26)
97 alutmp(2,5)= alu(36*ii-25)
98 alutmp(2,6)= alu(36*ii-24)
100 alutmp(3,1)= alu(36*ii-23)
101 alutmp(3,2)= alu(36*ii-22)
102 alutmp(3,3)= alu(36*ii-21) * sigma_diag
103 alutmp(3,4)= alu(36*ii-20)
104 alutmp(3,5)= alu(36*ii-19)
105 alutmp(3,6)= alu(36*ii-18)
107 alutmp(4,1)= alu(36*ii-17)
108 alutmp(4,2)= alu(36*ii-16)
109 alutmp(4,3)= alu(36*ii-15)
110 alutmp(4,4)= alu(36*ii-14) * sigma_diag
111 alutmp(4,5)= alu(36*ii-13)
112 alutmp(4,6)= alu(36*ii-12)
114 alutmp(5,1)= alu(36*ii-11)
115 alutmp(5,2)= alu(36*ii-10)
116 alutmp(5,3)= alu(36*ii-9 )
117 alutmp(5,4)= alu(36*ii-8 )
118 alutmp(5,5)= alu(36*ii-7 ) * sigma_diag
119 alutmp(5,6)= alu(36*ii-6 )
121 alutmp(6,1)= alu(36*ii-5 )
122 alutmp(6,2)= alu(36*ii-4 )
123 alutmp(6,3)= alu(36*ii-3 )
124 alutmp(6,4)= alu(36*ii-2 )
125 alutmp(6,5)= alu(36*ii-1 )
126 alutmp(6,6)= alu(36*ii ) * sigma_diag
129 alutmp(k,k)= 1.d0/alutmp(k,k)
131 alutmp(i,k)= alutmp(i,k) * alutmp(k,k)
133 pw(j)= alutmp(i,j) - alutmp(i,k)*alutmp(k,j)
141 alu(36*ii-35)= alutmp(1,1)
142 alu(36*ii-34)= alutmp(1,2)
143 alu(36*ii-33)= alutmp(1,3)
144 alu(36*ii-32)= alutmp(1,4)
145 alu(36*ii-31)= alutmp(1,5)
146 alu(36*ii-30)= alutmp(1,6)
147 alu(36*ii-29)= alutmp(2,1)
148 alu(36*ii-28)= alutmp(2,2)
149 alu(36*ii-27)= alutmp(2,3)
150 alu(36*ii-26)= alutmp(2,4)
151 alu(36*ii-25)= alutmp(2,5)
152 alu(36*ii-24)= alutmp(2,6)
153 alu(36*ii-23)= alutmp(3,1)
154 alu(36*ii-22)= alutmp(3,2)
155 alu(36*ii-21)= alutmp(3,3)
156 alu(36*ii-20)= alutmp(3,4)
157 alu(36*ii-19)= alutmp(3,5)
158 alu(36*ii-18)= alutmp(3,6)
159 alu(36*ii-17)= alutmp(4,1)
160 alu(36*ii-16)= alutmp(4,2)
161 alu(36*ii-15)= alutmp(4,3)
162 alu(36*ii-14)= alutmp(4,4)
163 alu(36*ii-13)= alutmp(4,5)
164 alu(36*ii-12)= alutmp(4,6)
165 alu(36*ii-11)= alutmp(5,1)
166 alu(36*ii-10)= alutmp(5,2)
167 alu(36*ii-9 )= alutmp(5,3)
168 alu(36*ii-8 )= alutmp(5,4)
169 alu(36*ii-7 )= alutmp(5,5)
170 alu(36*ii-6 )= alutmp(5,6)
171 alu(36*ii-5 )= alutmp(6,1)
172 alu(36*ii-4 )= alutmp(6,2)
173 alu(36*ii-3 )= alutmp(6,3)
174 alu(36*ii-2 )= alutmp(6,4)
175 alu(36*ii-1 )= alutmp(6,5)
176 alu(36*ii )= alutmp(6,6)
185 real(kind=
kreal),
intent(inout) :: ww(:)
186 integer(kind=kint) :: i
187 real(kind=
kreal) :: x1, x2, x3, x4, x5, x6
200 x2= x2 -alu(36*i-29)*x1
201 x3= x3 -alu(36*i-23)*x1 -alu(36*i-22)*x2
202 x4= x4 -alu(36*i-17)*x1 -alu(36*i-16)*x2 -alu(36*i-15)*x3
203 x5= x5 -alu(36*i-11)*x1 -alu(36*i-10)*x2 -alu(36*i-9 )*x3 -alu(36*i-8)*x4
204 x6= x6 -alu(36*i-5 )*x1 -alu(36*i-4 )*x2 -alu(36*i-3 )*x3 -alu(36*i-2)*x4 -alu(36*i-1)*x5
206 x5= alu(36*i-7 )*( x5 -alu(36*i-6 )*x6 )
207 x4= alu(36*i-14)*( x4 -alu(36*i-12)*x6 -alu(36*i-13)*x5)
208 x3= alu(36*i-21)*( x3 -alu(36*i-18)*x6 -alu(36*i-19)*x5 -alu(36*i-20)*x4)
209 x2= alu(36*i-28)*( x2 -alu(36*i-24)*x6 -alu(36*i-25)*x5 -alu(36*i-26)*x4 -alu(36*i-27)*x3)
210 x1= alu(36*i-35)*( x1 -alu(36*i-30)*x6 -alu(36*i-31)*x5 -alu(36*i-32)*x4 -alu(36*i-33)*x3 -alu(36*i-34)*x2)
225 if (
associated(alu))
deallocate(alu)