17 #include "../base/base_uses.f90"
21 CHARACTER(len=*),
PARAMETER,
PRIVATE :: moduleN =
'hfx_contract_block'
41 SUBROUTINE contract_block(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
42 INTEGER :: ma_max, mb_max, mc_max, md_max
43 REAL(kind=
dp) :: kbd(mb_max*md_max), kbc(mb_max*mc_max), &
44 kad(ma_max*md_max), kac(ma_max*mc_max), pbd(mb_max*md_max), &
45 pbc(mb_max*mc_max), pad(ma_max*md_max), pac(ma_max*mc_max), &
46 prim(ma_max*mb_max*mc_max*md_max), scale
48 #if !defined (__LIBINT)
63 cpabort(
"libint not compiled in")
73 CALL block_1_1_1_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
75 CALL block_1_1_1_2(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
77 CALL block_1_1_1_3(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
79 CALL block_1_1_1_4(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
81 CALL block_1_1_1_5(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
83 CALL block_1_1_1_6(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
85 CALL block_1_1_1_7(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
87 CALL block_1_1_1_9(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
89 CALL block_1_1_1_10(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
91 CALL block_1_1_1_11(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
93 CALL block_1_1_1_15(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
95 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
100 CALL block_1_1_2_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
102 CALL block_1_1_2_2(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
104 CALL block_1_1_2_3(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
106 CALL block_1_1_2_4(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
108 CALL block_1_1_2_5(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
110 CALL block_1_1_2_6(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
112 CALL block_1_1_2_7(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
114 CALL block_1_1_2_9(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
116 CALL block_1_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
118 CALL block_1_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
120 CALL block_1_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
122 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
127 CALL block_1_1_3_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
129 CALL block_1_1_3_2(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
131 CALL block_1_1_3_3(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
133 CALL block_1_1_3_4(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
135 CALL block_1_1_3_5(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
137 CALL block_1_1_3_6(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
139 CALL block_1_1_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
141 CALL block_1_1_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
143 CALL block_1_1_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
145 CALL block_1_1_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
147 CALL block_1_1_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
149 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
154 CALL block_1_1_4_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
156 CALL block_1_1_4_2(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
158 CALL block_1_1_4_3(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
160 CALL block_1_1_4_4(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
162 CALL block_1_1_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
164 CALL block_1_1_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
166 CALL block_1_1_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
168 CALL block_1_1_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
170 CALL block_1_1_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
172 CALL block_1_1_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
174 CALL block_1_1_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
176 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
181 CALL block_1_1_5_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
183 CALL block_1_1_5_2(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
185 CALL block_1_1_5_3(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
187 CALL block_1_1_5(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
189 CALL block_1_1_5(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
191 CALL block_1_1_5(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
193 CALL block_1_1_5(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
195 CALL block_1_1_5(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
197 CALL block_1_1_5(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
199 CALL block_1_1_5(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
201 CALL block_1_1_5(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
203 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
208 CALL block_1_1_6_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
210 CALL block_1_1_6_2(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
212 CALL block_1_1_6_3(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
214 CALL block_1_1_6(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
216 CALL block_1_1_6(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
218 CALL block_1_1_6(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
220 CALL block_1_1_6(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
222 CALL block_1_1_6(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
224 CALL block_1_1_6(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
226 CALL block_1_1_6(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
228 CALL block_1_1_6(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
230 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
235 CALL block_1_1_7_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
237 CALL block_1_1_7_2(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
239 CALL block_1_1_7(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
241 CALL block_1_1_7(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
243 CALL block_1_1_7(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
245 CALL block_1_1_7(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
247 CALL block_1_1_7(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
249 CALL block_1_1_7(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
251 CALL block_1_1_7(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
253 CALL block_1_1_7(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
255 CALL block_1_1_7(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
257 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
262 CALL block_1_1_9_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
264 CALL block_1_1_9_2(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
266 CALL block_1_1_9(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
268 CALL block_1_1_9(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
270 CALL block_1_1_9(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
272 CALL block_1_1_9(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
274 CALL block_1_1_9(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
276 CALL block_1_1_9(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
278 CALL block_1_1_9(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
280 CALL block_1_1_9(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
282 CALL block_1_1_9(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
284 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
289 CALL block_1_1_10_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
291 CALL block_1_1_10(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
293 CALL block_1_1_10(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
295 CALL block_1_1_10(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
297 CALL block_1_1_10(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
299 CALL block_1_1_10(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
301 CALL block_1_1_10(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
303 CALL block_1_1_10(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
305 CALL block_1_1_10(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
307 CALL block_1_1_10(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
309 CALL block_1_1_10(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
311 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
316 CALL block_1_1_11_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
318 CALL block_1_1_11(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
320 CALL block_1_1_11(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
322 CALL block_1_1_11(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
324 CALL block_1_1_11(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
326 CALL block_1_1_11(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
328 CALL block_1_1_11(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
330 CALL block_1_1_11(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
332 CALL block_1_1_11(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
334 CALL block_1_1_11(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
336 CALL block_1_1_11(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
338 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
343 CALL block_1_1_15_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
345 CALL block_1_1_15(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
347 CALL block_1_1_15(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
349 CALL block_1_1_15(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
351 CALL block_1_1_15(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
353 CALL block_1_1_15(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
355 CALL block_1_1_15(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
357 CALL block_1_1_15(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
359 CALL block_1_1_15(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
361 CALL block_1_1_15(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
363 CALL block_1_1_15(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
365 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
368 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
375 CALL block_1_2_1_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
377 CALL block_1_2_1_2(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
379 CALL block_1_2_1_3(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
381 CALL block_1_2_1_4(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
383 CALL block_1_2_1_5(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
385 CALL block_1_2_1_6(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
387 CALL block_1_2_1_7(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
389 CALL block_1_2_1_9(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
391 CALL block_1_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
393 CALL block_1_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
395 CALL block_1_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
397 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
402 CALL block_1_2_2_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
404 CALL block_1_2_2_2(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
406 CALL block_1_2_2_3(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
408 CALL block_1_2_2_4(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
410 CALL block_1_2_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
412 CALL block_1_2_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
414 CALL block_1_2_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
416 CALL block_1_2_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
418 CALL block_1_2_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
420 CALL block_1_2_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
422 CALL block_1_2_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
424 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
429 CALL block_1_2_3_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
431 CALL block_1_2_3_2(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
433 CALL block_1_2_3_3(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
435 CALL block_1_2_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
437 CALL block_1_2_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
439 CALL block_1_2_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
441 CALL block_1_2_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
443 CALL block_1_2_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
445 CALL block_1_2_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
447 CALL block_1_2_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
449 CALL block_1_2_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
451 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
456 CALL block_1_2_4_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
458 CALL block_1_2_4_2(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
460 CALL block_1_2_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
462 CALL block_1_2_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
464 CALL block_1_2_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
466 CALL block_1_2_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
468 CALL block_1_2_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
470 CALL block_1_2_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
472 CALL block_1_2_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
474 CALL block_1_2_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
476 CALL block_1_2_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
478 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
483 CALL block_1_2_5_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
485 CALL block_1_2_5(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
487 CALL block_1_2_5(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
489 CALL block_1_2_5(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
491 CALL block_1_2_5(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
493 CALL block_1_2_5(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
495 CALL block_1_2_5(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
497 CALL block_1_2_5(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
499 CALL block_1_2_5(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
501 CALL block_1_2_5(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
503 CALL block_1_2_5(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
505 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
510 CALL block_1_2_6_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
512 CALL block_1_2_6(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
514 CALL block_1_2_6(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
516 CALL block_1_2_6(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
518 CALL block_1_2_6(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
520 CALL block_1_2_6(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
522 CALL block_1_2_6(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
524 CALL block_1_2_6(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
526 CALL block_1_2_6(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
528 CALL block_1_2_6(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
530 CALL block_1_2_6(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
532 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
537 CALL block_1_2_7_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
539 CALL block_1_2_7(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
541 CALL block_1_2_7(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
543 CALL block_1_2_7(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
545 CALL block_1_2_7(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
547 CALL block_1_2_7(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
549 CALL block_1_2_7(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
551 CALL block_1_2_7(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
553 CALL block_1_2_7(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
555 CALL block_1_2_7(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
557 CALL block_1_2_7(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
559 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
564 CALL block_1_2_9_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
566 CALL block_1_2_9(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
568 CALL block_1_2_9(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
570 CALL block_1_2_9(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
572 CALL block_1_2_9(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
574 CALL block_1_2_9(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
576 CALL block_1_2_9(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
578 CALL block_1_2_9(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
580 CALL block_1_2_9(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
582 CALL block_1_2_9(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
584 CALL block_1_2_9(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
586 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
589 CALL block_1_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
591 CALL block_1_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
593 CALL block_1_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
595 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
602 CALL block_1_3_1_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
604 CALL block_1_3_1_2(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
606 CALL block_1_3_1_3(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
608 CALL block_1_3_1_4(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
610 CALL block_1_3_1_5(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
612 CALL block_1_3_1_6(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
614 CALL block_1_3_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
616 CALL block_1_3_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
618 CALL block_1_3_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
620 CALL block_1_3_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
622 CALL block_1_3_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
624 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
629 CALL block_1_3_2_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
631 CALL block_1_3_2_2(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
633 CALL block_1_3_2_3(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
635 CALL block_1_3_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
637 CALL block_1_3_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
639 CALL block_1_3_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
641 CALL block_1_3_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
643 CALL block_1_3_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
645 CALL block_1_3_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
647 CALL block_1_3_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
649 CALL block_1_3_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
651 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
656 CALL block_1_3_3_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
658 CALL block_1_3_3_2(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
660 CALL block_1_3_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
662 CALL block_1_3_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
664 CALL block_1_3_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
666 CALL block_1_3_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
668 CALL block_1_3_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
670 CALL block_1_3_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
672 CALL block_1_3_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
674 CALL block_1_3_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
676 CALL block_1_3_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
678 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
683 CALL block_1_3_4_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
685 CALL block_1_3_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
687 CALL block_1_3_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
689 CALL block_1_3_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
691 CALL block_1_3_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
693 CALL block_1_3_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
695 CALL block_1_3_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
697 CALL block_1_3_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
699 CALL block_1_3_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
701 CALL block_1_3_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
703 CALL block_1_3_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
705 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
710 CALL block_1_3_5_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
712 CALL block_1_3_5(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
714 CALL block_1_3_5(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
716 CALL block_1_3_5(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
718 CALL block_1_3_5(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
720 CALL block_1_3_5(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
722 CALL block_1_3_5(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
724 CALL block_1_3_5(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
726 CALL block_1_3_5(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
728 CALL block_1_3_5(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
730 CALL block_1_3_5(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
732 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
737 CALL block_1_3_6_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
739 CALL block_1_3_6(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
741 CALL block_1_3_6(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
743 CALL block_1_3_6(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
745 CALL block_1_3_6(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
747 CALL block_1_3_6(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
749 CALL block_1_3_6(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
751 CALL block_1_3_6(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
753 CALL block_1_3_6(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
755 CALL block_1_3_6(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
757 CALL block_1_3_6(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
759 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
762 CALL block_1_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
764 CALL block_1_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
766 CALL block_1_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
768 CALL block_1_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
770 CALL block_1_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
772 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
779 CALL block_1_4_1_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
781 CALL block_1_4_1_2(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
783 CALL block_1_4_1_3(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
785 CALL block_1_4_1_4(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
787 CALL block_1_4_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
789 CALL block_1_4_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
791 CALL block_1_4_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
793 CALL block_1_4_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
795 CALL block_1_4_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
797 CALL block_1_4_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
799 CALL block_1_4_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
801 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
806 CALL block_1_4_2_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
808 CALL block_1_4_2_2(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
810 CALL block_1_4_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
812 CALL block_1_4_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
814 CALL block_1_4_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
816 CALL block_1_4_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
818 CALL block_1_4_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
820 CALL block_1_4_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
822 CALL block_1_4_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
824 CALL block_1_4_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
826 CALL block_1_4_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
828 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
833 CALL block_1_4_3_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
835 CALL block_1_4_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
837 CALL block_1_4_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
839 CALL block_1_4_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
841 CALL block_1_4_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
843 CALL block_1_4_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
845 CALL block_1_4_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
847 CALL block_1_4_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
849 CALL block_1_4_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
851 CALL block_1_4_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
853 CALL block_1_4_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
855 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
860 CALL block_1_4_4_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
862 CALL block_1_4_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
864 CALL block_1_4_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
866 CALL block_1_4_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
868 CALL block_1_4_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
870 CALL block_1_4_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
872 CALL block_1_4_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
874 CALL block_1_4_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
876 CALL block_1_4_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
878 CALL block_1_4_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
880 CALL block_1_4_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
882 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
885 CALL block_1_4(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
887 CALL block_1_4(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
889 CALL block_1_4(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
891 CALL block_1_4(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
893 CALL block_1_4(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
895 CALL block_1_4(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
897 CALL block_1_4(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
899 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
906 CALL block_1_5_1_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
908 CALL block_1_5_1_2(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
910 CALL block_1_5_1_3(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
912 CALL block_1_5_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
914 CALL block_1_5_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
916 CALL block_1_5_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
918 CALL block_1_5_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
920 CALL block_1_5_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
922 CALL block_1_5_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
924 CALL block_1_5_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
926 CALL block_1_5_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
928 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
933 CALL block_1_5_2_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
935 CALL block_1_5_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
937 CALL block_1_5_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
939 CALL block_1_5_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
941 CALL block_1_5_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
943 CALL block_1_5_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
945 CALL block_1_5_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
947 CALL block_1_5_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
949 CALL block_1_5_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
951 CALL block_1_5_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
953 CALL block_1_5_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
955 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
960 CALL block_1_5_3_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
962 CALL block_1_5_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
964 CALL block_1_5_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
966 CALL block_1_5_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
968 CALL block_1_5_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
970 CALL block_1_5_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
972 CALL block_1_5_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
974 CALL block_1_5_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
976 CALL block_1_5_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
978 CALL block_1_5_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
980 CALL block_1_5_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
982 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
985 CALL block_1_5(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
987 CALL block_1_5(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
989 CALL block_1_5(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
991 CALL block_1_5(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
993 CALL block_1_5(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
995 CALL block_1_5(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
997 CALL block_1_5(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
999 CALL block_1_5(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1001 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1004 SELECT CASE (mc_max)
1006 SELECT CASE (md_max)
1008 CALL block_1_6_1_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1010 CALL block_1_6_1_2(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1012 CALL block_1_6_1_3(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1014 CALL block_1_6_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1016 CALL block_1_6_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1018 CALL block_1_6_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1020 CALL block_1_6_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1022 CALL block_1_6_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1024 CALL block_1_6_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1026 CALL block_1_6_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1028 CALL block_1_6_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1030 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1033 SELECT CASE (md_max)
1035 CALL block_1_6_2_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1037 CALL block_1_6_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1039 CALL block_1_6_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1041 CALL block_1_6_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1043 CALL block_1_6_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1045 CALL block_1_6_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1047 CALL block_1_6_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1049 CALL block_1_6_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1051 CALL block_1_6_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1053 CALL block_1_6_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1055 CALL block_1_6_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1057 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1060 SELECT CASE (md_max)
1062 CALL block_1_6_3_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1064 CALL block_1_6_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1066 CALL block_1_6_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1068 CALL block_1_6_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1070 CALL block_1_6_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1072 CALL block_1_6_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1074 CALL block_1_6_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1076 CALL block_1_6_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1078 CALL block_1_6_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1080 CALL block_1_6_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1082 CALL block_1_6_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1084 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1087 CALL block_1_6(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1089 CALL block_1_6(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1091 CALL block_1_6(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1093 CALL block_1_6(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1095 CALL block_1_6(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1097 CALL block_1_6(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1099 CALL block_1_6(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1101 CALL block_1_6(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1103 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1106 SELECT CASE (mc_max)
1108 SELECT CASE (md_max)
1110 CALL block_1_7_1_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1112 CALL block_1_7_1_2(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1114 CALL block_1_7_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1116 CALL block_1_7_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1118 CALL block_1_7_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1120 CALL block_1_7_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1122 CALL block_1_7_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1124 CALL block_1_7_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1126 CALL block_1_7_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1128 CALL block_1_7_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1130 CALL block_1_7_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1132 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1135 SELECT CASE (md_max)
1137 CALL block_1_7_2_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1139 CALL block_1_7_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1141 CALL block_1_7_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1143 CALL block_1_7_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1145 CALL block_1_7_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1147 CALL block_1_7_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1149 CALL block_1_7_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1151 CALL block_1_7_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1153 CALL block_1_7_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1155 CALL block_1_7_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1157 CALL block_1_7_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1159 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1162 CALL block_1_7(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1164 CALL block_1_7(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1166 CALL block_1_7(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1168 CALL block_1_7(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1170 CALL block_1_7(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1172 CALL block_1_7(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1174 CALL block_1_7(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1176 CALL block_1_7(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1178 CALL block_1_7(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1180 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1183 SELECT CASE (mc_max)
1185 SELECT CASE (md_max)
1187 CALL block_1_9_1_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1189 CALL block_1_9_1_2(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1191 CALL block_1_9_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1193 CALL block_1_9_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1195 CALL block_1_9_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1197 CALL block_1_9_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1199 CALL block_1_9_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1201 CALL block_1_9_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1203 CALL block_1_9_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1205 CALL block_1_9_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1207 CALL block_1_9_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1209 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1212 SELECT CASE (md_max)
1214 CALL block_1_9_2_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1216 CALL block_1_9_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1218 CALL block_1_9_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1220 CALL block_1_9_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1222 CALL block_1_9_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1224 CALL block_1_9_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1226 CALL block_1_9_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1228 CALL block_1_9_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1230 CALL block_1_9_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1232 CALL block_1_9_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1234 CALL block_1_9_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1236 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1239 CALL block_1_9(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1241 CALL block_1_9(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1243 CALL block_1_9(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1245 CALL block_1_9(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1247 CALL block_1_9(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1249 CALL block_1_9(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1251 CALL block_1_9(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1253 CALL block_1_9(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1255 CALL block_1_9(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1257 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1260 SELECT CASE (mc_max)
1262 SELECT CASE (md_max)
1264 CALL block_1_10_1_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1266 CALL block_1_10_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1268 CALL block_1_10_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1270 CALL block_1_10_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1272 CALL block_1_10_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1274 CALL block_1_10_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1276 CALL block_1_10_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1278 CALL block_1_10_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1280 CALL block_1_10_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1282 CALL block_1_10_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1284 CALL block_1_10_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1286 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1289 CALL block_1_10(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1291 CALL block_1_10(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1293 CALL block_1_10(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1295 CALL block_1_10(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1297 CALL block_1_10(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1299 CALL block_1_10(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1301 CALL block_1_10(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1303 CALL block_1_10(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1305 CALL block_1_10(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1307 CALL block_1_10(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1309 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1312 SELECT CASE (mc_max)
1314 SELECT CASE (md_max)
1316 CALL block_1_11_1_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1318 CALL block_1_11_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1320 CALL block_1_11_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1322 CALL block_1_11_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1324 CALL block_1_11_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1326 CALL block_1_11_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1328 CALL block_1_11_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1330 CALL block_1_11_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1332 CALL block_1_11_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1334 CALL block_1_11_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1336 CALL block_1_11_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1338 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1341 CALL block_1_11(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1343 CALL block_1_11(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1345 CALL block_1_11(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1347 CALL block_1_11(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1349 CALL block_1_11(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1351 CALL block_1_11(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1353 CALL block_1_11(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1355 CALL block_1_11(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1357 CALL block_1_11(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1359 CALL block_1_11(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1361 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1364 SELECT CASE (mc_max)
1366 SELECT CASE (md_max)
1368 CALL block_1_15_1_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1370 CALL block_1_15_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1372 CALL block_1_15_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1374 CALL block_1_15_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1376 CALL block_1_15_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1378 CALL block_1_15_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1380 CALL block_1_15_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1382 CALL block_1_15_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1384 CALL block_1_15_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1386 CALL block_1_15_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1388 CALL block_1_15_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1390 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1393 CALL block_1_15(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1395 CALL block_1_15(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1397 CALL block_1_15(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1399 CALL block_1_15(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1401 CALL block_1_15(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1403 CALL block_1_15(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1405 CALL block_1_15(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1407 CALL block_1_15(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1409 CALL block_1_15(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1411 CALL block_1_15(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1413 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1416 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1419 SELECT CASE (mb_max)
1421 SELECT CASE (mc_max)
1423 SELECT CASE (md_max)
1425 CALL block_2_1_1_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1427 CALL block_2_1_1_2(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1429 CALL block_2_1_1_3(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1431 CALL block_2_1_1_4(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1433 CALL block_2_1_1_5(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1435 CALL block_2_1_1_6(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1437 CALL block_2_1_1_7(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1439 CALL block_2_1_1_9(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1441 CALL block_2_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1443 CALL block_2_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1445 CALL block_2_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1447 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1450 SELECT CASE (md_max)
1452 CALL block_2_1_2_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1454 CALL block_2_1_2_2(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1456 CALL block_2_1_2_3(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1458 CALL block_2_1_2_4(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1460 CALL block_2_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1462 CALL block_2_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1464 CALL block_2_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1466 CALL block_2_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1468 CALL block_2_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1470 CALL block_2_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1472 CALL block_2_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1474 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1477 SELECT CASE (md_max)
1479 CALL block_2_1_3_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1481 CALL block_2_1_3_2(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1483 CALL block_2_1_3_3(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1485 CALL block_2_1_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1487 CALL block_2_1_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1489 CALL block_2_1_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1491 CALL block_2_1_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1493 CALL block_2_1_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1495 CALL block_2_1_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1497 CALL block_2_1_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1499 CALL block_2_1_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1501 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1504 SELECT CASE (md_max)
1506 CALL block_2_1_4_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1508 CALL block_2_1_4_2(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1510 CALL block_2_1_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1512 CALL block_2_1_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1514 CALL block_2_1_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1516 CALL block_2_1_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1518 CALL block_2_1_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1520 CALL block_2_1_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1522 CALL block_2_1_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1524 CALL block_2_1_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1526 CALL block_2_1_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1528 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1531 SELECT CASE (md_max)
1533 CALL block_2_1_5_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1535 CALL block_2_1_5(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1537 CALL block_2_1_5(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1539 CALL block_2_1_5(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1541 CALL block_2_1_5(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1543 CALL block_2_1_5(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1545 CALL block_2_1_5(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1547 CALL block_2_1_5(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1549 CALL block_2_1_5(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1551 CALL block_2_1_5(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1553 CALL block_2_1_5(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1555 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1558 SELECT CASE (md_max)
1560 CALL block_2_1_6_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1562 CALL block_2_1_6(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1564 CALL block_2_1_6(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1566 CALL block_2_1_6(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1568 CALL block_2_1_6(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1570 CALL block_2_1_6(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1572 CALL block_2_1_6(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1574 CALL block_2_1_6(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1576 CALL block_2_1_6(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1578 CALL block_2_1_6(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1580 CALL block_2_1_6(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1582 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1585 SELECT CASE (md_max)
1587 CALL block_2_1_7_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1589 CALL block_2_1_7(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1591 CALL block_2_1_7(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1593 CALL block_2_1_7(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1595 CALL block_2_1_7(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1597 CALL block_2_1_7(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1599 CALL block_2_1_7(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1601 CALL block_2_1_7(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1603 CALL block_2_1_7(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1605 CALL block_2_1_7(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1607 CALL block_2_1_7(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1609 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1612 SELECT CASE (md_max)
1614 CALL block_2_1_9_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1616 CALL block_2_1_9(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1618 CALL block_2_1_9(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1620 CALL block_2_1_9(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1622 CALL block_2_1_9(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1624 CALL block_2_1_9(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1626 CALL block_2_1_9(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1628 CALL block_2_1_9(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1630 CALL block_2_1_9(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1632 CALL block_2_1_9(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1634 CALL block_2_1_9(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1636 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1639 CALL block_2_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1641 CALL block_2_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1643 CALL block_2_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1645 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1648 SELECT CASE (mc_max)
1650 SELECT CASE (md_max)
1652 CALL block_2_2_1_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1654 CALL block_2_2_1_2(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1656 CALL block_2_2_1_3(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1658 CALL block_2_2_1_4(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1660 CALL block_2_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1662 CALL block_2_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1664 CALL block_2_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1666 CALL block_2_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1668 CALL block_2_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1670 CALL block_2_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1672 CALL block_2_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1674 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1677 SELECT CASE (md_max)
1679 CALL block_2_2_2_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1681 CALL block_2_2_2_2(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1683 CALL block_2_2_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1685 CALL block_2_2_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1687 CALL block_2_2_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1689 CALL block_2_2_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1691 CALL block_2_2_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1693 CALL block_2_2_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1695 CALL block_2_2_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1697 CALL block_2_2_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1699 CALL block_2_2_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1701 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1704 SELECT CASE (md_max)
1706 CALL block_2_2_3_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1708 CALL block_2_2_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1710 CALL block_2_2_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1712 CALL block_2_2_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1714 CALL block_2_2_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1716 CALL block_2_2_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1718 CALL block_2_2_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1720 CALL block_2_2_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1722 CALL block_2_2_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1724 CALL block_2_2_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1726 CALL block_2_2_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1728 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1731 SELECT CASE (md_max)
1733 CALL block_2_2_4_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1735 CALL block_2_2_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1737 CALL block_2_2_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1739 CALL block_2_2_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1741 CALL block_2_2_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1743 CALL block_2_2_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1745 CALL block_2_2_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1747 CALL block_2_2_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1749 CALL block_2_2_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1751 CALL block_2_2_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1753 CALL block_2_2_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1755 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1758 CALL block_2_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1760 CALL block_2_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1762 CALL block_2_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1764 CALL block_2_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1766 CALL block_2_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1768 CALL block_2_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1770 CALL block_2_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1772 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1775 SELECT CASE (mc_max)
1777 SELECT CASE (md_max)
1779 CALL block_2_3_1_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1781 CALL block_2_3_1_2(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1783 CALL block_2_3_1_3(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1785 CALL block_2_3_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1787 CALL block_2_3_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1789 CALL block_2_3_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1791 CALL block_2_3_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1793 CALL block_2_3_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1795 CALL block_2_3_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1797 CALL block_2_3_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1799 CALL block_2_3_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1801 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1804 SELECT CASE (md_max)
1806 CALL block_2_3_2_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1808 CALL block_2_3_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1810 CALL block_2_3_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1812 CALL block_2_3_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1814 CALL block_2_3_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1816 CALL block_2_3_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1818 CALL block_2_3_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1820 CALL block_2_3_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1822 CALL block_2_3_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1824 CALL block_2_3_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1826 CALL block_2_3_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1828 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1831 SELECT CASE (md_max)
1833 CALL block_2_3_3_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1835 CALL block_2_3_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1837 CALL block_2_3_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1839 CALL block_2_3_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1841 CALL block_2_3_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1843 CALL block_2_3_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1845 CALL block_2_3_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1847 CALL block_2_3_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1849 CALL block_2_3_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1851 CALL block_2_3_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1853 CALL block_2_3_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1855 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1858 CALL block_2_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1860 CALL block_2_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1862 CALL block_2_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1864 CALL block_2_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1866 CALL block_2_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1868 CALL block_2_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1870 CALL block_2_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1872 CALL block_2_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1874 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1877 SELECT CASE (mc_max)
1879 SELECT CASE (md_max)
1881 CALL block_2_4_1_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1883 CALL block_2_4_1_2(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1885 CALL block_2_4_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1887 CALL block_2_4_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1889 CALL block_2_4_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1891 CALL block_2_4_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1893 CALL block_2_4_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1895 CALL block_2_4_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1897 CALL block_2_4_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1899 CALL block_2_4_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1901 CALL block_2_4_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1903 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1906 SELECT CASE (md_max)
1908 CALL block_2_4_2_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1910 CALL block_2_4_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1912 CALL block_2_4_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1914 CALL block_2_4_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1916 CALL block_2_4_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1918 CALL block_2_4_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1920 CALL block_2_4_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1922 CALL block_2_4_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1924 CALL block_2_4_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1926 CALL block_2_4_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1928 CALL block_2_4_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1930 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1933 CALL block_2_4(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1935 CALL block_2_4(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1937 CALL block_2_4(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1939 CALL block_2_4(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1941 CALL block_2_4(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1943 CALL block_2_4(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1945 CALL block_2_4(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1947 CALL block_2_4(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1949 CALL block_2_4(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1951 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1954 SELECT CASE (mc_max)
1956 SELECT CASE (md_max)
1958 CALL block_2_5_1_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1960 CALL block_2_5_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1962 CALL block_2_5_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1964 CALL block_2_5_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1966 CALL block_2_5_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1968 CALL block_2_5_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1970 CALL block_2_5_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1972 CALL block_2_5_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1974 CALL block_2_5_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1976 CALL block_2_5_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1978 CALL block_2_5_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1980 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1983 CALL block_2_5(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1985 CALL block_2_5(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1987 CALL block_2_5(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1989 CALL block_2_5(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1991 CALL block_2_5(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1993 CALL block_2_5(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1995 CALL block_2_5(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1997 CALL block_2_5(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
1999 CALL block_2_5(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2001 CALL block_2_5(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2003 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2006 SELECT CASE (mc_max)
2008 SELECT CASE (md_max)
2010 CALL block_2_6_1_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2012 CALL block_2_6_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2014 CALL block_2_6_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2016 CALL block_2_6_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2018 CALL block_2_6_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2020 CALL block_2_6_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2022 CALL block_2_6_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2024 CALL block_2_6_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2026 CALL block_2_6_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2028 CALL block_2_6_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2030 CALL block_2_6_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2032 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2035 CALL block_2_6(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2037 CALL block_2_6(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2039 CALL block_2_6(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2041 CALL block_2_6(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2043 CALL block_2_6(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2045 CALL block_2_6(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2047 CALL block_2_6(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2049 CALL block_2_6(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2051 CALL block_2_6(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2053 CALL block_2_6(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2055 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2058 SELECT CASE (mc_max)
2060 SELECT CASE (md_max)
2062 CALL block_2_7_1_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2064 CALL block_2_7_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2066 CALL block_2_7_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2068 CALL block_2_7_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2070 CALL block_2_7_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2072 CALL block_2_7_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2074 CALL block_2_7_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2076 CALL block_2_7_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2078 CALL block_2_7_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2080 CALL block_2_7_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2082 CALL block_2_7_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2084 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2087 CALL block_2_7(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2089 CALL block_2_7(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2091 CALL block_2_7(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2093 CALL block_2_7(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2095 CALL block_2_7(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2097 CALL block_2_7(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2099 CALL block_2_7(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2101 CALL block_2_7(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2103 CALL block_2_7(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2105 CALL block_2_7(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2107 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2110 SELECT CASE (mc_max)
2112 SELECT CASE (md_max)
2114 CALL block_2_9_1_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2116 CALL block_2_9_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2118 CALL block_2_9_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2120 CALL block_2_9_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2122 CALL block_2_9_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2124 CALL block_2_9_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2126 CALL block_2_9_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2128 CALL block_2_9_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2130 CALL block_2_9_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2132 CALL block_2_9_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2134 CALL block_2_9_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2136 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2139 CALL block_2_9(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2141 CALL block_2_9(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2143 CALL block_2_9(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2145 CALL block_2_9(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2147 CALL block_2_9(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2149 CALL block_2_9(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2151 CALL block_2_9(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2153 CALL block_2_9(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2155 CALL block_2_9(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2157 CALL block_2_9(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2159 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2162 CALL block_2_10(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2164 CALL block_2_11(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2166 CALL block_2_15(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2168 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2171 SELECT CASE (mb_max)
2173 SELECT CASE (mc_max)
2175 SELECT CASE (md_max)
2177 CALL block_3_1_1_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2179 CALL block_3_1_1_2(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2181 CALL block_3_1_1_3(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2183 CALL block_3_1_1_4(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2185 CALL block_3_1_1_5(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2187 CALL block_3_1_1_6(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2189 CALL block_3_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2191 CALL block_3_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2193 CALL block_3_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2195 CALL block_3_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2197 CALL block_3_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2199 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2202 SELECT CASE (md_max)
2204 CALL block_3_1_2_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2206 CALL block_3_1_2_2(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2208 CALL block_3_1_2_3(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2210 CALL block_3_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2212 CALL block_3_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2214 CALL block_3_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2216 CALL block_3_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2218 CALL block_3_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2220 CALL block_3_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2222 CALL block_3_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2224 CALL block_3_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2226 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2229 SELECT CASE (md_max)
2231 CALL block_3_1_3_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2233 CALL block_3_1_3_2(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2235 CALL block_3_1_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2237 CALL block_3_1_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2239 CALL block_3_1_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2241 CALL block_3_1_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2243 CALL block_3_1_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2245 CALL block_3_1_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2247 CALL block_3_1_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2249 CALL block_3_1_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2251 CALL block_3_1_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2253 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2256 SELECT CASE (md_max)
2258 CALL block_3_1_4_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2260 CALL block_3_1_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2262 CALL block_3_1_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2264 CALL block_3_1_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2266 CALL block_3_1_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2268 CALL block_3_1_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2270 CALL block_3_1_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2272 CALL block_3_1_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2274 CALL block_3_1_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2276 CALL block_3_1_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2278 CALL block_3_1_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2280 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2283 SELECT CASE (md_max)
2285 CALL block_3_1_5_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2287 CALL block_3_1_5(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2289 CALL block_3_1_5(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2291 CALL block_3_1_5(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2293 CALL block_3_1_5(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2295 CALL block_3_1_5(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2297 CALL block_3_1_5(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2299 CALL block_3_1_5(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2301 CALL block_3_1_5(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2303 CALL block_3_1_5(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2305 CALL block_3_1_5(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2307 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2310 SELECT CASE (md_max)
2312 CALL block_3_1_6_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2314 CALL block_3_1_6(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2316 CALL block_3_1_6(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2318 CALL block_3_1_6(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2320 CALL block_3_1_6(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2322 CALL block_3_1_6(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2324 CALL block_3_1_6(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2326 CALL block_3_1_6(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2328 CALL block_3_1_6(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2330 CALL block_3_1_6(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2332 CALL block_3_1_6(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2334 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2337 CALL block_3_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2339 CALL block_3_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2341 CALL block_3_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2343 CALL block_3_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2345 CALL block_3_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2347 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2350 SELECT CASE (mc_max)
2352 SELECT CASE (md_max)
2354 CALL block_3_2_1_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2356 CALL block_3_2_1_2(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2358 CALL block_3_2_1_3(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2360 CALL block_3_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2362 CALL block_3_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2364 CALL block_3_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2366 CALL block_3_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2368 CALL block_3_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2370 CALL block_3_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2372 CALL block_3_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2374 CALL block_3_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2376 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2379 SELECT CASE (md_max)
2381 CALL block_3_2_2_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2383 CALL block_3_2_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2385 CALL block_3_2_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2387 CALL block_3_2_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2389 CALL block_3_2_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2391 CALL block_3_2_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2393 CALL block_3_2_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2395 CALL block_3_2_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2397 CALL block_3_2_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2399 CALL block_3_2_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2401 CALL block_3_2_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2403 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2406 SELECT CASE (md_max)
2408 CALL block_3_2_3_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2410 CALL block_3_2_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2412 CALL block_3_2_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2414 CALL block_3_2_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2416 CALL block_3_2_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2418 CALL block_3_2_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2420 CALL block_3_2_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2422 CALL block_3_2_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2424 CALL block_3_2_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2426 CALL block_3_2_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2428 CALL block_3_2_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2430 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2433 CALL block_3_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2435 CALL block_3_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2437 CALL block_3_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2439 CALL block_3_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2441 CALL block_3_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2443 CALL block_3_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2445 CALL block_3_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2447 CALL block_3_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2449 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2452 SELECT CASE (mc_max)
2454 SELECT CASE (md_max)
2456 CALL block_3_3_1_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2458 CALL block_3_3_1_2(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2460 CALL block_3_3_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2462 CALL block_3_3_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2464 CALL block_3_3_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2466 CALL block_3_3_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2468 CALL block_3_3_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2470 CALL block_3_3_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2472 CALL block_3_3_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2474 CALL block_3_3_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2476 CALL block_3_3_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2478 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2481 SELECT CASE (md_max)
2483 CALL block_3_3_2_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2485 CALL block_3_3_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2487 CALL block_3_3_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2489 CALL block_3_3_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2491 CALL block_3_3_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2493 CALL block_3_3_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2495 CALL block_3_3_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2497 CALL block_3_3_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2499 CALL block_3_3_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2501 CALL block_3_3_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2503 CALL block_3_3_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2505 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2508 CALL block_3_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2510 CALL block_3_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2512 CALL block_3_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2514 CALL block_3_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2516 CALL block_3_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2518 CALL block_3_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2520 CALL block_3_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2522 CALL block_3_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2524 CALL block_3_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2526 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2529 SELECT CASE (mc_max)
2531 SELECT CASE (md_max)
2533 CALL block_3_4_1_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2535 CALL block_3_4_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2537 CALL block_3_4_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2539 CALL block_3_4_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2541 CALL block_3_4_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2543 CALL block_3_4_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2545 CALL block_3_4_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2547 CALL block_3_4_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2549 CALL block_3_4_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2551 CALL block_3_4_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2553 CALL block_3_4_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2555 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2558 CALL block_3_4(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2560 CALL block_3_4(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2562 CALL block_3_4(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2564 CALL block_3_4(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2566 CALL block_3_4(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2568 CALL block_3_4(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2570 CALL block_3_4(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2572 CALL block_3_4(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2574 CALL block_3_4(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2576 CALL block_3_4(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2578 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2581 SELECT CASE (mc_max)
2583 SELECT CASE (md_max)
2585 CALL block_3_5_1_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2587 CALL block_3_5_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2589 CALL block_3_5_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2591 CALL block_3_5_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2593 CALL block_3_5_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2595 CALL block_3_5_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2597 CALL block_3_5_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2599 CALL block_3_5_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2601 CALL block_3_5_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2603 CALL block_3_5_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2605 CALL block_3_5_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2607 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2610 CALL block_3_5(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2612 CALL block_3_5(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2614 CALL block_3_5(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2616 CALL block_3_5(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2618 CALL block_3_5(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2620 CALL block_3_5(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2622 CALL block_3_5(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2624 CALL block_3_5(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2626 CALL block_3_5(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2628 CALL block_3_5(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2630 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2633 SELECT CASE (mc_max)
2635 SELECT CASE (md_max)
2637 CALL block_3_6_1_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2639 CALL block_3_6_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2641 CALL block_3_6_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2643 CALL block_3_6_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2645 CALL block_3_6_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2647 CALL block_3_6_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2649 CALL block_3_6_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2651 CALL block_3_6_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2653 CALL block_3_6_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2655 CALL block_3_6_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2657 CALL block_3_6_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2659 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2662 CALL block_3_6(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2664 CALL block_3_6(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2666 CALL block_3_6(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2668 CALL block_3_6(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2670 CALL block_3_6(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2672 CALL block_3_6(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2674 CALL block_3_6(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2676 CALL block_3_6(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2678 CALL block_3_6(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2680 CALL block_3_6(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2682 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2685 CALL block_3_7(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2687 CALL block_3_9(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2689 CALL block_3_10(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2691 CALL block_3_11(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2693 CALL block_3_15(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2695 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2698 SELECT CASE (mb_max)
2700 SELECT CASE (mc_max)
2702 SELECT CASE (md_max)
2704 CALL block_4_1_1_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2706 CALL block_4_1_1_2(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2708 CALL block_4_1_1_3(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2710 CALL block_4_1_1_4(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2712 CALL block_4_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2714 CALL block_4_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2716 CALL block_4_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2718 CALL block_4_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2720 CALL block_4_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2722 CALL block_4_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2724 CALL block_4_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2726 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2729 SELECT CASE (md_max)
2731 CALL block_4_1_2_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2733 CALL block_4_1_2_2(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2735 CALL block_4_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2737 CALL block_4_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2739 CALL block_4_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2741 CALL block_4_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2743 CALL block_4_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2745 CALL block_4_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2747 CALL block_4_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2749 CALL block_4_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2751 CALL block_4_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2753 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2756 SELECT CASE (md_max)
2758 CALL block_4_1_3_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2760 CALL block_4_1_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2762 CALL block_4_1_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2764 CALL block_4_1_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2766 CALL block_4_1_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2768 CALL block_4_1_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2770 CALL block_4_1_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2772 CALL block_4_1_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2774 CALL block_4_1_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2776 CALL block_4_1_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2778 CALL block_4_1_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2780 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2783 SELECT CASE (md_max)
2785 CALL block_4_1_4_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2787 CALL block_4_1_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2789 CALL block_4_1_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2791 CALL block_4_1_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2793 CALL block_4_1_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2795 CALL block_4_1_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2797 CALL block_4_1_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2799 CALL block_4_1_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2801 CALL block_4_1_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2803 CALL block_4_1_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2805 CALL block_4_1_4(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2807 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2810 CALL block_4_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2812 CALL block_4_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2814 CALL block_4_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2816 CALL block_4_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2818 CALL block_4_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2820 CALL block_4_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2822 CALL block_4_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2824 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2827 SELECT CASE (mc_max)
2829 SELECT CASE (md_max)
2831 CALL block_4_2_1_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2833 CALL block_4_2_1_2(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2835 CALL block_4_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2837 CALL block_4_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2839 CALL block_4_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2841 CALL block_4_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2843 CALL block_4_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2845 CALL block_4_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2847 CALL block_4_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2849 CALL block_4_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2851 CALL block_4_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2853 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2856 SELECT CASE (md_max)
2858 CALL block_4_2_2_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2860 CALL block_4_2_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2862 CALL block_4_2_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2864 CALL block_4_2_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2866 CALL block_4_2_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2868 CALL block_4_2_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2870 CALL block_4_2_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2872 CALL block_4_2_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2874 CALL block_4_2_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2876 CALL block_4_2_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2878 CALL block_4_2_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2880 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2883 CALL block_4_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2885 CALL block_4_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2887 CALL block_4_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2889 CALL block_4_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2891 CALL block_4_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2893 CALL block_4_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2895 CALL block_4_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2897 CALL block_4_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2899 CALL block_4_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2901 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2904 SELECT CASE (mc_max)
2906 SELECT CASE (md_max)
2908 CALL block_4_3_1_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2910 CALL block_4_3_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2912 CALL block_4_3_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2914 CALL block_4_3_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2916 CALL block_4_3_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2918 CALL block_4_3_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2920 CALL block_4_3_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2922 CALL block_4_3_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2924 CALL block_4_3_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2926 CALL block_4_3_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2928 CALL block_4_3_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2930 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2933 CALL block_4_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2935 CALL block_4_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2937 CALL block_4_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2939 CALL block_4_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2941 CALL block_4_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2943 CALL block_4_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2945 CALL block_4_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2947 CALL block_4_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2949 CALL block_4_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2951 CALL block_4_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2953 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2956 SELECT CASE (mc_max)
2958 SELECT CASE (md_max)
2960 CALL block_4_4_1_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2962 CALL block_4_4_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2964 CALL block_4_4_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2966 CALL block_4_4_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2968 CALL block_4_4_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2970 CALL block_4_4_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2972 CALL block_4_4_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2974 CALL block_4_4_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2976 CALL block_4_4_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2978 CALL block_4_4_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2980 CALL block_4_4_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2982 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2985 CALL block_4_4(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2987 CALL block_4_4(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2989 CALL block_4_4(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2991 CALL block_4_4(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2993 CALL block_4_4(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2995 CALL block_4_4(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2997 CALL block_4_4(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
2999 CALL block_4_4(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3001 CALL block_4_4(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3003 CALL block_4_4(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3005 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3008 CALL block_4_5(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3010 CALL block_4_6(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3012 CALL block_4_7(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3014 CALL block_4_9(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3016 CALL block_4_10(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3018 CALL block_4_11(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3020 CALL block_4_15(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3022 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3025 SELECT CASE (mb_max)
3027 SELECT CASE (mc_max)
3029 SELECT CASE (md_max)
3031 CALL block_5_1_1_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3033 CALL block_5_1_1_2(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3035 CALL block_5_1_1_3(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3037 CALL block_5_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3039 CALL block_5_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3041 CALL block_5_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3043 CALL block_5_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3045 CALL block_5_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3047 CALL block_5_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3049 CALL block_5_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3051 CALL block_5_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3053 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3056 SELECT CASE (md_max)
3058 CALL block_5_1_2_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3060 CALL block_5_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3062 CALL block_5_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3064 CALL block_5_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3066 CALL block_5_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3068 CALL block_5_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3070 CALL block_5_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3072 CALL block_5_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3074 CALL block_5_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3076 CALL block_5_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3078 CALL block_5_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3080 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3083 SELECT CASE (md_max)
3085 CALL block_5_1_3_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3087 CALL block_5_1_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3089 CALL block_5_1_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3091 CALL block_5_1_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3093 CALL block_5_1_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3095 CALL block_5_1_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3097 CALL block_5_1_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3099 CALL block_5_1_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3101 CALL block_5_1_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3103 CALL block_5_1_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3105 CALL block_5_1_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3107 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3110 CALL block_5_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3112 CALL block_5_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3114 CALL block_5_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3116 CALL block_5_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3118 CALL block_5_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3120 CALL block_5_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3122 CALL block_5_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3124 CALL block_5_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3126 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3129 SELECT CASE (mc_max)
3131 SELECT CASE (md_max)
3133 CALL block_5_2_1_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3135 CALL block_5_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3137 CALL block_5_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3139 CALL block_5_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3141 CALL block_5_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3143 CALL block_5_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3145 CALL block_5_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3147 CALL block_5_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3149 CALL block_5_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3151 CALL block_5_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3153 CALL block_5_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3155 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3158 CALL block_5_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3160 CALL block_5_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3162 CALL block_5_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3164 CALL block_5_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3166 CALL block_5_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3168 CALL block_5_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3170 CALL block_5_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3172 CALL block_5_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3174 CALL block_5_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3176 CALL block_5_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3178 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3181 SELECT CASE (mc_max)
3183 SELECT CASE (md_max)
3185 CALL block_5_3_1_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3187 CALL block_5_3_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3189 CALL block_5_3_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3191 CALL block_5_3_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3193 CALL block_5_3_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3195 CALL block_5_3_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3197 CALL block_5_3_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3199 CALL block_5_3_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3201 CALL block_5_3_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3203 CALL block_5_3_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3205 CALL block_5_3_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3207 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3210 CALL block_5_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3212 CALL block_5_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3214 CALL block_5_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3216 CALL block_5_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3218 CALL block_5_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3220 CALL block_5_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3222 CALL block_5_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3224 CALL block_5_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3226 CALL block_5_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3228 CALL block_5_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3230 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3233 CALL block_5_4(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3235 CALL block_5_5(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3237 CALL block_5_6(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3239 CALL block_5_7(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3241 CALL block_5_9(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3243 CALL block_5_10(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3245 CALL block_5_11(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3247 CALL block_5_15(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3249 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3252 SELECT CASE (mb_max)
3254 SELECT CASE (mc_max)
3256 SELECT CASE (md_max)
3258 CALL block_6_1_1_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3260 CALL block_6_1_1_2(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3262 CALL block_6_1_1_3(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3264 CALL block_6_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3266 CALL block_6_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3268 CALL block_6_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3270 CALL block_6_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3272 CALL block_6_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3274 CALL block_6_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3276 CALL block_6_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3278 CALL block_6_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3280 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3283 SELECT CASE (md_max)
3285 CALL block_6_1_2_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3287 CALL block_6_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3289 CALL block_6_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3291 CALL block_6_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3293 CALL block_6_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3295 CALL block_6_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3297 CALL block_6_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3299 CALL block_6_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3301 CALL block_6_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3303 CALL block_6_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3305 CALL block_6_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3307 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3310 SELECT CASE (md_max)
3312 CALL block_6_1_3_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3314 CALL block_6_1_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3316 CALL block_6_1_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3318 CALL block_6_1_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3320 CALL block_6_1_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3322 CALL block_6_1_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3324 CALL block_6_1_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3326 CALL block_6_1_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3328 CALL block_6_1_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3330 CALL block_6_1_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3332 CALL block_6_1_3(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3334 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3337 CALL block_6_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3339 CALL block_6_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3341 CALL block_6_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3343 CALL block_6_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3345 CALL block_6_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3347 CALL block_6_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3349 CALL block_6_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3351 CALL block_6_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3353 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3356 SELECT CASE (mc_max)
3358 SELECT CASE (md_max)
3360 CALL block_6_2_1_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3362 CALL block_6_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3364 CALL block_6_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3366 CALL block_6_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3368 CALL block_6_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3370 CALL block_6_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3372 CALL block_6_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3374 CALL block_6_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3376 CALL block_6_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3378 CALL block_6_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3380 CALL block_6_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3382 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3385 CALL block_6_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3387 CALL block_6_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3389 CALL block_6_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3391 CALL block_6_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3393 CALL block_6_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3395 CALL block_6_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3397 CALL block_6_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3399 CALL block_6_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3401 CALL block_6_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3403 CALL block_6_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3405 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3408 SELECT CASE (mc_max)
3410 SELECT CASE (md_max)
3412 CALL block_6_3_1_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3414 CALL block_6_3_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3416 CALL block_6_3_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3418 CALL block_6_3_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3420 CALL block_6_3_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3422 CALL block_6_3_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3424 CALL block_6_3_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3426 CALL block_6_3_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3428 CALL block_6_3_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3430 CALL block_6_3_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3432 CALL block_6_3_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3434 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3437 CALL block_6_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3439 CALL block_6_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3441 CALL block_6_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3443 CALL block_6_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3445 CALL block_6_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3447 CALL block_6_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3449 CALL block_6_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3451 CALL block_6_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3453 CALL block_6_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3455 CALL block_6_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3457 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3460 CALL block_6_4(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3462 CALL block_6_5(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3464 CALL block_6_6(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3466 CALL block_6_7(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3468 CALL block_6_9(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3470 CALL block_6_10(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3472 CALL block_6_11(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3474 CALL block_6_15(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3476 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3479 SELECT CASE (mb_max)
3481 SELECT CASE (mc_max)
3483 SELECT CASE (md_max)
3485 CALL block_7_1_1_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3487 CALL block_7_1_1_2(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3489 CALL block_7_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3491 CALL block_7_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3493 CALL block_7_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3495 CALL block_7_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3497 CALL block_7_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3499 CALL block_7_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3501 CALL block_7_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3503 CALL block_7_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3505 CALL block_7_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3507 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3510 SELECT CASE (md_max)
3512 CALL block_7_1_2_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3514 CALL block_7_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3516 CALL block_7_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3518 CALL block_7_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3520 CALL block_7_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3522 CALL block_7_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3524 CALL block_7_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3526 CALL block_7_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3528 CALL block_7_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3530 CALL block_7_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3532 CALL block_7_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3534 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3537 CALL block_7_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3539 CALL block_7_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3541 CALL block_7_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3543 CALL block_7_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3545 CALL block_7_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3547 CALL block_7_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3549 CALL block_7_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3551 CALL block_7_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3553 CALL block_7_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3555 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3558 SELECT CASE (mc_max)
3560 SELECT CASE (md_max)
3562 CALL block_7_2_1_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3564 CALL block_7_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3566 CALL block_7_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3568 CALL block_7_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3570 CALL block_7_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3572 CALL block_7_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3574 CALL block_7_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3576 CALL block_7_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3578 CALL block_7_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3580 CALL block_7_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3582 CALL block_7_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3584 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3587 CALL block_7_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3589 CALL block_7_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3591 CALL block_7_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3593 CALL block_7_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3595 CALL block_7_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3597 CALL block_7_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3599 CALL block_7_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3601 CALL block_7_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3603 CALL block_7_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3605 CALL block_7_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3607 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3610 CALL block_7_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3612 CALL block_7_4(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3614 CALL block_7_5(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3616 CALL block_7_6(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3618 CALL block_7_7(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3620 CALL block_7_9(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3622 CALL block_7_10(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3624 CALL block_7_11(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3626 CALL block_7_15(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3628 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3631 SELECT CASE (mb_max)
3633 SELECT CASE (mc_max)
3635 SELECT CASE (md_max)
3637 CALL block_9_1_1_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3639 CALL block_9_1_1_2(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3641 CALL block_9_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3643 CALL block_9_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3645 CALL block_9_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3647 CALL block_9_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3649 CALL block_9_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3651 CALL block_9_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3653 CALL block_9_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3655 CALL block_9_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3657 CALL block_9_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3659 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3662 SELECT CASE (md_max)
3664 CALL block_9_1_2_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3666 CALL block_9_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3668 CALL block_9_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3670 CALL block_9_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3672 CALL block_9_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3674 CALL block_9_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3676 CALL block_9_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3678 CALL block_9_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3680 CALL block_9_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3682 CALL block_9_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3684 CALL block_9_1_2(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3686 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3689 CALL block_9_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3691 CALL block_9_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3693 CALL block_9_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3695 CALL block_9_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3697 CALL block_9_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3699 CALL block_9_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3701 CALL block_9_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3703 CALL block_9_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3705 CALL block_9_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3707 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3710 SELECT CASE (mc_max)
3712 SELECT CASE (md_max)
3714 CALL block_9_2_1_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3716 CALL block_9_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3718 CALL block_9_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3720 CALL block_9_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3722 CALL block_9_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3724 CALL block_9_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3726 CALL block_9_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3728 CALL block_9_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3730 CALL block_9_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3732 CALL block_9_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3734 CALL block_9_2_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3736 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3739 CALL block_9_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3741 CALL block_9_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3743 CALL block_9_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3745 CALL block_9_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3747 CALL block_9_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3749 CALL block_9_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3751 CALL block_9_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3753 CALL block_9_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3755 CALL block_9_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3757 CALL block_9_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3759 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3762 CALL block_9_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3764 CALL block_9_4(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3766 CALL block_9_5(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3768 CALL block_9_6(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3770 CALL block_9_7(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3772 CALL block_9_9(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3774 CALL block_9_10(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3776 CALL block_9_11(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3778 CALL block_9_15(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3780 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3783 SELECT CASE (mb_max)
3785 SELECT CASE (mc_max)
3787 SELECT CASE (md_max)
3789 CALL block_10_1_1_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3791 CALL block_10_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3793 CALL block_10_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3795 CALL block_10_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3797 CALL block_10_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3799 CALL block_10_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3801 CALL block_10_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3803 CALL block_10_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3805 CALL block_10_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3807 CALL block_10_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3809 CALL block_10_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3811 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3814 CALL block_10_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3816 CALL block_10_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3818 CALL block_10_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3820 CALL block_10_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3822 CALL block_10_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3824 CALL block_10_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3826 CALL block_10_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3828 CALL block_10_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3830 CALL block_10_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3832 CALL block_10_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3834 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3837 CALL block_10_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3839 CALL block_10_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3841 CALL block_10_4(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3843 CALL block_10_5(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3845 CALL block_10_6(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3847 CALL block_10_7(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3849 CALL block_10_9(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3851 CALL block_10_10(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3853 CALL block_10_11(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3855 CALL block_10_15(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3857 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3860 SELECT CASE (mb_max)
3862 SELECT CASE (mc_max)
3864 SELECT CASE (md_max)
3866 CALL block_11_1_1_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3868 CALL block_11_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3870 CALL block_11_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3872 CALL block_11_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3874 CALL block_11_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3876 CALL block_11_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3878 CALL block_11_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3880 CALL block_11_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3882 CALL block_11_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3884 CALL block_11_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3886 CALL block_11_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3888 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3891 CALL block_11_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3893 CALL block_11_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3895 CALL block_11_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3897 CALL block_11_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3899 CALL block_11_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3901 CALL block_11_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3903 CALL block_11_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3905 CALL block_11_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3907 CALL block_11_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3909 CALL block_11_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3911 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3914 CALL block_11_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3916 CALL block_11_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3918 CALL block_11_4(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3920 CALL block_11_5(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3922 CALL block_11_6(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3924 CALL block_11_7(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3926 CALL block_11_9(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3928 CALL block_11_10(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3930 CALL block_11_11(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3932 CALL block_11_15(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3934 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3937 SELECT CASE (mb_max)
3939 SELECT CASE (mc_max)
3941 SELECT CASE (md_max)
3943 CALL block_15_1_1_1(kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3945 CALL block_15_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3947 CALL block_15_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3949 CALL block_15_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3951 CALL block_15_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3953 CALL block_15_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3955 CALL block_15_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3957 CALL block_15_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3959 CALL block_15_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3961 CALL block_15_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3963 CALL block_15_1_1(md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3965 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3968 CALL block_15_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3970 CALL block_15_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3972 CALL block_15_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3974 CALL block_15_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3976 CALL block_15_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3978 CALL block_15_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3980 CALL block_15_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3982 CALL block_15_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3984 CALL block_15_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3986 CALL block_15_1(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3988 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3991 CALL block_15_2(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3993 CALL block_15_3(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3995 CALL block_15_4(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3997 CALL block_15_5(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
3999 CALL block_15_6(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
4001 CALL block_15_7(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
4003 CALL block_15_9(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
4005 CALL block_15_10(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
4007 CALL block_15_11(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
4009 CALL block_15_15(mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
4011 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
4014 CALL block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd,
pbc, pad, pac, prim, scale)
4019 #if defined (__LIBINT)
4037 SUBROUTINE block_default(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
4038 INTEGER :: ma_max, mb_max, mc_max, md_max
4039 REAL(kind=
dp) :: kbd(mb_max*md_max), kbc(mb_max*mc_max), kad(ma_max*md_max), &
4040 kac(ma_max*mc_max), pbd(mb_max*md_max),
pbc(mb_max*mc_max), pad(ma_max*md_max), &
4041 pac(ma_max*mc_max), prim(ma_max*mb_max*mc_max*md_max), scale
4043 INTEGER :: ma, mb, mc, md, p_index
4044 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
4046 kbd(1:mb_max*md_max) = 0.0_dp
4047 kbc(1:mb_max*mc_max) = 0.0_dp
4048 kad(1:ma_max*md_max) = 0.0_dp
4049 kac(1:ma_max*mc_max) = 0.0_dp
4056 p_bd = pbd((md - 1)*mb_max + mb)
4057 p_bc =
pbc((mc - 1)*mb_max + mb)
4059 p_index = p_index + 1
4060 tmp = scale*prim(p_index)
4061 ks_bc = ks_bc + tmp*pad((md - 1)*ma_max + ma)
4062 ks_bd = ks_bd + tmp*pac((mc - 1)*ma_max + ma)
4063 kad((md - 1)*ma_max + ma) = kad((md - 1)*ma_max + ma) - tmp*p_bc
4064 kac((mc - 1)*ma_max + ma) = kac((mc - 1)*ma_max + ma) - tmp*p_bd
4066 kbd((md - 1)*mb_max + mb) = kbd((md - 1)*mb_max + mb) - ks_bd
4067 kbc((mc - 1)*mb_max + mb) = kbc((mc - 1)*mb_max + mb) - ks_bc
4071 END SUBROUTINE block_default
4085 SUBROUTINE block_1_1_1_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
4086 REAL(kind=
dp) :: kbd(1*1), kbc(1*1), kad(1*1), kac(1*1), &
4087 pbd(1*1),
pbc(1*1), pad(1*1), &
4088 pac(1*1), prim(1*1*1*1), scale
4090 INTEGER :: ma, mb, mc, md, p_index
4091 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
4103 p_bd = pbd((md - 1)*1 + mb)
4104 p_bc =
pbc((mc - 1)*1 + mb)
4106 p_index = p_index + 1
4107 tmp = scale*prim(p_index)
4108 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
4109 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
4110 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
4111 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
4113 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
4114 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
4118 END SUBROUTINE block_1_1_1_1
4132 SUBROUTINE block_1_1_1_2(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
4133 REAL(kind=
dp) :: kbd(1*2), kbc(1*1), kad(1*2), kac(1*1), &
4134 pbd(1*2),
pbc(1*1), pad(1*2), &
4135 pac(1*1), prim(1*1*1*2), scale
4137 INTEGER :: ma, mb, mc, md, p_index
4138 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
4150 p_bd = pbd((md - 1)*1 + mb)
4151 p_bc =
pbc((mc - 1)*1 + mb)
4153 p_index = p_index + 1
4154 tmp = scale*prim(p_index)
4155 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
4156 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
4157 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
4158 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
4160 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
4161 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
4165 END SUBROUTINE block_1_1_1_2
4179 SUBROUTINE block_1_1_1_3(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
4180 REAL(kind=
dp) :: kbd(1*3), kbc(1*1), kad(1*3), kac(1*1), &
4181 pbd(1*3),
pbc(1*1), pad(1*3), &
4182 pac(1*1), prim(1*1*1*3), scale
4184 INTEGER :: ma, mb, mc, md, p_index
4185 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
4197 p_bd = pbd((md - 1)*1 + mb)
4198 p_bc =
pbc((mc - 1)*1 + mb)
4200 p_index = p_index + 1
4201 tmp = scale*prim(p_index)
4202 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
4203 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
4204 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
4205 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
4207 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
4208 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
4212 END SUBROUTINE block_1_1_1_3
4226 SUBROUTINE block_1_1_1_4(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
4227 REAL(kind=
dp) :: kbd(1*4), kbc(1*1), kad(1*4), kac(1*1), &
4228 pbd(1*4),
pbc(1*1), pad(1*4), &
4229 pac(1*1), prim(1*1*1*4), scale
4231 INTEGER :: ma, mb, mc, md, p_index
4232 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
4244 p_bd = pbd((md - 1)*1 + mb)
4245 p_bc =
pbc((mc - 1)*1 + mb)
4247 p_index = p_index + 1
4248 tmp = scale*prim(p_index)
4249 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
4250 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
4251 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
4252 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
4254 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
4255 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
4259 END SUBROUTINE block_1_1_1_4
4273 SUBROUTINE block_1_1_1_5(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
4274 REAL(kind=
dp) :: kbd(1*5), kbc(1*1), kad(1*5), kac(1*1), &
4275 pbd(1*5),
pbc(1*1), pad(1*5), &
4276 pac(1*1), prim(1*1*1*5), scale
4278 INTEGER :: ma, mb, mc, md, p_index
4279 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
4291 p_bd = pbd((md - 1)*1 + mb)
4292 p_bc =
pbc((mc - 1)*1 + mb)
4294 p_index = p_index + 1
4295 tmp = scale*prim(p_index)
4296 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
4297 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
4298 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
4299 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
4301 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
4302 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
4306 END SUBROUTINE block_1_1_1_5
4320 SUBROUTINE block_1_1_1_6(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
4321 REAL(kind=
dp) :: kbd(1*6), kbc(1*1), kad(1*6), kac(1*1), &
4322 pbd(1*6),
pbc(1*1), pad(1*6), &
4323 pac(1*1), prim(1*1*1*6), scale
4325 INTEGER :: ma, mb, mc, md, p_index
4326 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
4338 p_bd = pbd((md - 1)*1 + mb)
4339 p_bc =
pbc((mc - 1)*1 + mb)
4341 p_index = p_index + 1
4342 tmp = scale*prim(p_index)
4343 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
4344 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
4345 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
4346 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
4348 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
4349 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
4353 END SUBROUTINE block_1_1_1_6
4367 SUBROUTINE block_1_1_1_7(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
4368 REAL(kind=
dp) :: kbd(1*7), kbc(1*1), kad(1*7), kac(1*1), &
4369 pbd(1*7),
pbc(1*1), pad(1*7), &
4370 pac(1*1), prim(1*1*1*7), scale
4372 INTEGER :: ma, mb, mc, md, p_index
4373 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
4385 p_bd = pbd((md - 1)*1 + mb)
4386 p_bc =
pbc((mc - 1)*1 + mb)
4388 p_index = p_index + 1
4389 tmp = scale*prim(p_index)
4390 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
4391 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
4392 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
4393 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
4395 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
4396 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
4400 END SUBROUTINE block_1_1_1_7
4414 SUBROUTINE block_1_1_1_9(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
4415 REAL(kind=
dp) :: kbd(1*9), kbc(1*1), kad(1*9), kac(1*1), &
4416 pbd(1*9),
pbc(1*1), pad(1*9), &
4417 pac(1*1), prim(1*1*1*9), scale
4419 INTEGER :: ma, mb, mc, md, p_index
4420 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
4432 p_bd = pbd((md - 1)*1 + mb)
4433 p_bc =
pbc((mc - 1)*1 + mb)
4435 p_index = p_index + 1
4436 tmp = scale*prim(p_index)
4437 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
4438 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
4439 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
4440 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
4442 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
4443 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
4447 END SUBROUTINE block_1_1_1_9
4461 SUBROUTINE block_1_1_1_10(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
4462 REAL(kind=
dp) :: kbd(1*10), kbc(1*1), kad(1*10), &
4463 kac(1*1), pbd(1*10),
pbc(1*1), &
4464 pad(1*10), pac(1*1), prim(1*1*1*10), &
4467 INTEGER :: ma, mb, mc, md, p_index
4468 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
4470 kbd(1:1*10) = 0.0_dp
4472 kad(1:1*10) = 0.0_dp
4480 p_bd = pbd((md - 1)*1 + mb)
4481 p_bc =
pbc((mc - 1)*1 + mb)
4483 p_index = p_index + 1
4484 tmp = scale*prim(p_index)
4485 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
4486 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
4487 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
4488 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
4490 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
4491 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
4495 END SUBROUTINE block_1_1_1_10
4509 SUBROUTINE block_1_1_1_11(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
4510 REAL(kind=
dp) :: kbd(1*11), kbc(1*1), kad(1*11), &
4511 kac(1*1), pbd(1*11),
pbc(1*1), &
4512 pad(1*11), pac(1*1), prim(1*1*1*11), &
4515 INTEGER :: ma, mb, mc, md, p_index
4516 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
4518 kbd(1:1*11) = 0.0_dp
4520 kad(1:1*11) = 0.0_dp
4528 p_bd = pbd((md - 1)*1 + mb)
4529 p_bc =
pbc((mc - 1)*1 + mb)
4531 p_index = p_index + 1
4532 tmp = scale*prim(p_index)
4533 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
4534 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
4535 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
4536 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
4538 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
4539 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
4543 END SUBROUTINE block_1_1_1_11
4557 SUBROUTINE block_1_1_1_15(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
4558 REAL(kind=
dp) :: kbd(1*15), kbc(1*1), kad(1*15), &
4559 kac(1*1), pbd(1*15),
pbc(1*1), &
4560 pad(1*15), pac(1*1), prim(1*1*1*15), &
4563 INTEGER :: ma, mb, mc, md, p_index
4564 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
4566 kbd(1:1*15) = 0.0_dp
4568 kad(1:1*15) = 0.0_dp
4576 p_bd = pbd((md - 1)*1 + mb)
4577 p_bc =
pbc((mc - 1)*1 + mb)
4579 p_index = p_index + 1
4580 tmp = scale*prim(p_index)
4581 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
4582 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
4583 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
4584 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
4586 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
4587 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
4591 END SUBROUTINE block_1_1_1_15
4605 SUBROUTINE block_1_1_2_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
4606 REAL(kind=
dp) :: kbd(1*1), kbc(1*2), kad(1*1), kac(1*2), &
4607 pbd(1*1),
pbc(1*2), pad(1*1), &
4608 pac(1*2), prim(1*1*2*1), scale
4610 INTEGER :: ma, mb, mc, md, p_index
4611 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
4623 p_bd = pbd((md - 1)*1 + mb)
4624 p_bc =
pbc((mc - 1)*1 + mb)
4626 p_index = p_index + 1
4627 tmp = scale*prim(p_index)
4628 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
4629 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
4630 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
4631 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
4633 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
4634 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
4638 END SUBROUTINE block_1_1_2_1
4652 SUBROUTINE block_1_1_2_2(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
4653 REAL(kind=
dp) :: kbd(1*2), kbc(1*2), kad(1*2), kac(1*2), &
4654 pbd(1*2),
pbc(1*2), pad(1*2), &
4655 pac(1*2), prim(1*1*2*2), scale
4657 INTEGER :: ma, mb, mc, md, p_index
4658 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
4670 p_bd = pbd((md - 1)*1 + mb)
4671 p_bc =
pbc((mc - 1)*1 + mb)
4673 p_index = p_index + 1
4674 tmp = scale*prim(p_index)
4675 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
4676 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
4677 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
4678 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
4680 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
4681 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
4685 END SUBROUTINE block_1_1_2_2
4699 SUBROUTINE block_1_1_2_3(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
4700 REAL(kind=
dp) :: kbd(1*3), kbc(1*2), kad(1*3), kac(1*2), &
4701 pbd(1*3),
pbc(1*2), pad(1*3), &
4702 pac(1*2), prim(1*1*2*3), scale
4704 INTEGER :: ma, mb, mc, md, p_index
4705 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
4717 p_bd = pbd((md - 1)*1 + mb)
4718 p_bc =
pbc((mc - 1)*1 + mb)
4720 p_index = p_index + 1
4721 tmp = scale*prim(p_index)
4722 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
4723 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
4724 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
4725 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
4727 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
4728 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
4732 END SUBROUTINE block_1_1_2_3
4746 SUBROUTINE block_1_1_2_4(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
4747 REAL(kind=
dp) :: kbd(1*4), kbc(1*2), kad(1*4), kac(1*2), &
4748 pbd(1*4),
pbc(1*2), pad(1*4), &
4749 pac(1*2), prim(1*1*2*4), scale
4751 INTEGER :: ma, mb, mc, md, p_index
4752 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
4764 p_bd = pbd((md - 1)*1 + mb)
4765 p_bc =
pbc((mc - 1)*1 + mb)
4767 p_index = p_index + 1
4768 tmp = scale*prim(p_index)
4769 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
4770 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
4771 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
4772 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
4774 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
4775 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
4779 END SUBROUTINE block_1_1_2_4
4793 SUBROUTINE block_1_1_2_5(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
4794 REAL(kind=
dp) :: kbd(1*5), kbc(1*2), kad(1*5), kac(1*2), &
4795 pbd(1*5),
pbc(1*2), pad(1*5), &
4796 pac(1*2), prim(1*1*2*5), scale
4798 INTEGER :: ma, mb, mc, md, p_index
4799 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
4811 p_bd = pbd((md - 1)*1 + mb)
4812 p_bc =
pbc((mc - 1)*1 + mb)
4814 p_index = p_index + 1
4815 tmp = scale*prim(p_index)
4816 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
4817 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
4818 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
4819 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
4821 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
4822 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
4826 END SUBROUTINE block_1_1_2_5
4840 SUBROUTINE block_1_1_2_6(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
4841 REAL(kind=
dp) :: kbd(1*6), kbc(1*2), kad(1*6), kac(1*2), &
4842 pbd(1*6),
pbc(1*2), pad(1*6), &
4843 pac(1*2), prim(1*1*2*6), scale
4845 INTEGER :: ma, mb, mc, md, p_index
4846 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
4858 p_bd = pbd((md - 1)*1 + mb)
4859 p_bc =
pbc((mc - 1)*1 + mb)
4861 p_index = p_index + 1
4862 tmp = scale*prim(p_index)
4863 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
4864 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
4865 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
4866 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
4868 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
4869 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
4873 END SUBROUTINE block_1_1_2_6
4887 SUBROUTINE block_1_1_2_7(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
4888 REAL(kind=
dp) :: kbd(1*7), kbc(1*2), kad(1*7), kac(1*2), &
4889 pbd(1*7),
pbc(1*2), pad(1*7), &
4890 pac(1*2), prim(1*1*2*7), scale
4892 INTEGER :: ma, mb, mc, md, p_index
4893 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
4905 p_bd = pbd((md - 1)*1 + mb)
4906 p_bc =
pbc((mc - 1)*1 + mb)
4908 p_index = p_index + 1
4909 tmp = scale*prim(p_index)
4910 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
4911 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
4912 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
4913 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
4915 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
4916 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
4920 END SUBROUTINE block_1_1_2_7
4934 SUBROUTINE block_1_1_2_9(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
4935 REAL(kind=
dp) :: kbd(1*9), kbc(1*2), kad(1*9), kac(1*2), &
4936 pbd(1*9),
pbc(1*2), pad(1*9), &
4937 pac(1*2), prim(1*1*2*9), scale
4939 INTEGER :: ma, mb, mc, md, p_index
4940 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
4952 p_bd = pbd((md - 1)*1 + mb)
4953 p_bc =
pbc((mc - 1)*1 + mb)
4955 p_index = p_index + 1
4956 tmp = scale*prim(p_index)
4957 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
4958 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
4959 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
4960 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
4962 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
4963 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
4967 END SUBROUTINE block_1_1_2_9
4982 SUBROUTINE block_1_1_2(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
4984 REAL(kind=
dp) :: kbd(1*md_max), kbc(1*2), kad(1*md_max), kac(1*2), pbd(1*md_max),
pbc(1*2), &
4985 pad(1*md_max), pac(1*2), prim(1*1*2*md_max), scale
4987 INTEGER :: ma, mb, mc, md, p_index
4988 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
4990 kbd(1:1*md_max) = 0.0_dp
4992 kad(1:1*md_max) = 0.0_dp
5000 p_bd = pbd((md - 1)*1 + mb)
5001 p_bc =
pbc((mc - 1)*1 + mb)
5003 p_index = p_index + 1
5004 tmp = scale*prim(p_index)
5005 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
5006 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
5007 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
5008 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
5010 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
5011 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
5015 END SUBROUTINE block_1_1_2
5029 SUBROUTINE block_1_1_3_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
5030 REAL(kind=
dp) :: kbd(1*1), kbc(1*3), kad(1*1), kac(1*3), &
5031 pbd(1*1),
pbc(1*3), pad(1*1), &
5032 pac(1*3), prim(1*1*3*1), scale
5034 INTEGER :: ma, mb, mc, md, p_index
5035 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
5047 p_bd = pbd((md - 1)*1 + mb)
5048 p_bc =
pbc((mc - 1)*1 + mb)
5050 p_index = p_index + 1
5051 tmp = scale*prim(p_index)
5052 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
5053 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
5054 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
5055 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
5057 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
5058 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
5062 END SUBROUTINE block_1_1_3_1
5076 SUBROUTINE block_1_1_3_2(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
5077 REAL(kind=
dp) :: kbd(1*2), kbc(1*3), kad(1*2), kac(1*3), &
5078 pbd(1*2),
pbc(1*3), pad(1*2), &
5079 pac(1*3), prim(1*1*3*2), scale
5081 INTEGER :: ma, mb, mc, md, p_index
5082 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
5094 p_bd = pbd((md - 1)*1 + mb)
5095 p_bc =
pbc((mc - 1)*1 + mb)
5097 p_index = p_index + 1
5098 tmp = scale*prim(p_index)
5099 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
5100 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
5101 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
5102 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
5104 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
5105 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
5109 END SUBROUTINE block_1_1_3_2
5123 SUBROUTINE block_1_1_3_3(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
5124 REAL(kind=
dp) :: kbd(1*3), kbc(1*3), kad(1*3), kac(1*3), &
5125 pbd(1*3),
pbc(1*3), pad(1*3), &
5126 pac(1*3), prim(1*1*3*3), scale
5128 INTEGER :: ma, mb, mc, md, p_index
5129 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
5141 p_bd = pbd((md - 1)*1 + mb)
5142 p_bc =
pbc((mc - 1)*1 + mb)
5144 p_index = p_index + 1
5145 tmp = scale*prim(p_index)
5146 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
5147 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
5148 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
5149 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
5151 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
5152 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
5156 END SUBROUTINE block_1_1_3_3
5170 SUBROUTINE block_1_1_3_4(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
5171 REAL(kind=
dp) :: kbd(1*4), kbc(1*3), kad(1*4), kac(1*3), &
5172 pbd(1*4),
pbc(1*3), pad(1*4), &
5173 pac(1*3), prim(1*1*3*4), scale
5175 INTEGER :: ma, mb, mc, md, p_index
5176 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
5188 p_bd = pbd((md - 1)*1 + mb)
5189 p_bc =
pbc((mc - 1)*1 + mb)
5191 p_index = p_index + 1
5192 tmp = scale*prim(p_index)
5193 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
5194 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
5195 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
5196 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
5198 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
5199 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
5203 END SUBROUTINE block_1_1_3_4
5217 SUBROUTINE block_1_1_3_5(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
5218 REAL(kind=
dp) :: kbd(1*5), kbc(1*3), kad(1*5), kac(1*3), &
5219 pbd(1*5),
pbc(1*3), pad(1*5), &
5220 pac(1*3), prim(1*1*3*5), scale
5222 INTEGER :: ma, mb, mc, md, p_index
5223 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
5235 p_bd = pbd((md - 1)*1 + mb)
5236 p_bc =
pbc((mc - 1)*1 + mb)
5238 p_index = p_index + 1
5239 tmp = scale*prim(p_index)
5240 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
5241 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
5242 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
5243 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
5245 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
5246 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
5250 END SUBROUTINE block_1_1_3_5
5264 SUBROUTINE block_1_1_3_6(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
5265 REAL(kind=
dp) :: kbd(1*6), kbc(1*3), kad(1*6), kac(1*3), &
5266 pbd(1*6),
pbc(1*3), pad(1*6), &
5267 pac(1*3), prim(1*1*3*6), scale
5269 INTEGER :: ma, mb, mc, md, p_index
5270 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
5282 p_bd = pbd((md - 1)*1 + mb)
5283 p_bc =
pbc((mc - 1)*1 + mb)
5285 p_index = p_index + 1
5286 tmp = scale*prim(p_index)
5287 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
5288 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
5289 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
5290 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
5292 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
5293 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
5297 END SUBROUTINE block_1_1_3_6
5312 SUBROUTINE block_1_1_3(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
5314 REAL(kind=
dp) :: kbd(1*md_max), kbc(1*3), kad(1*md_max), kac(1*3), pbd(1*md_max),
pbc(1*3), &
5315 pad(1*md_max), pac(1*3), prim(1*1*3*md_max), scale
5317 INTEGER :: ma, mb, mc, md, p_index
5318 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
5320 kbd(1:1*md_max) = 0.0_dp
5322 kad(1:1*md_max) = 0.0_dp
5330 p_bd = pbd((md - 1)*1 + mb)
5331 p_bc =
pbc((mc - 1)*1 + mb)
5333 p_index = p_index + 1
5334 tmp = scale*prim(p_index)
5335 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
5336 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
5337 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
5338 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
5340 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
5341 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
5345 END SUBROUTINE block_1_1_3
5359 SUBROUTINE block_1_1_4_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
5360 REAL(kind=
dp) :: kbd(1*1), kbc(1*4), kad(1*1), kac(1*4), &
5361 pbd(1*1),
pbc(1*4), pad(1*1), &
5362 pac(1*4), prim(1*1*4*1), scale
5364 INTEGER :: ma, mb, mc, md, p_index
5365 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
5377 p_bd = pbd((md - 1)*1 + mb)
5378 p_bc =
pbc((mc - 1)*1 + mb)
5380 p_index = p_index + 1
5381 tmp = scale*prim(p_index)
5382 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
5383 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
5384 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
5385 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
5387 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
5388 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
5392 END SUBROUTINE block_1_1_4_1
5406 SUBROUTINE block_1_1_4_2(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
5407 REAL(kind=
dp) :: kbd(1*2), kbc(1*4), kad(1*2), kac(1*4), &
5408 pbd(1*2),
pbc(1*4), pad(1*2), &
5409 pac(1*4), prim(1*1*4*2), scale
5411 INTEGER :: ma, mb, mc, md, p_index
5412 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
5424 p_bd = pbd((md - 1)*1 + mb)
5425 p_bc =
pbc((mc - 1)*1 + mb)
5427 p_index = p_index + 1
5428 tmp = scale*prim(p_index)
5429 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
5430 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
5431 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
5432 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
5434 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
5435 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
5439 END SUBROUTINE block_1_1_4_2
5453 SUBROUTINE block_1_1_4_3(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
5454 REAL(kind=
dp) :: kbd(1*3), kbc(1*4), kad(1*3), kac(1*4), &
5455 pbd(1*3),
pbc(1*4), pad(1*3), &
5456 pac(1*4), prim(1*1*4*3), scale
5458 INTEGER :: ma, mb, mc, md, p_index
5459 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
5471 p_bd = pbd((md - 1)*1 + mb)
5472 p_bc =
pbc((mc - 1)*1 + mb)
5474 p_index = p_index + 1
5475 tmp = scale*prim(p_index)
5476 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
5477 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
5478 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
5479 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
5481 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
5482 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
5486 END SUBROUTINE block_1_1_4_3
5500 SUBROUTINE block_1_1_4_4(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
5501 REAL(kind=
dp) :: kbd(1*4), kbc(1*4), kad(1*4), kac(1*4), &
5502 pbd(1*4),
pbc(1*4), pad(1*4), &
5503 pac(1*4), prim(1*1*4*4), scale
5505 INTEGER :: ma, mb, mc, md, p_index
5506 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
5518 p_bd = pbd((md - 1)*1 + mb)
5519 p_bc =
pbc((mc - 1)*1 + mb)
5521 p_index = p_index + 1
5522 tmp = scale*prim(p_index)
5523 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
5524 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
5525 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
5526 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
5528 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
5529 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
5533 END SUBROUTINE block_1_1_4_4
5548 SUBROUTINE block_1_1_4(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
5550 REAL(kind=
dp) :: kbd(1*md_max), kbc(1*4), kad(1*md_max), kac(1*4), pbd(1*md_max),
pbc(1*4), &
5551 pad(1*md_max), pac(1*4), prim(1*1*4*md_max), scale
5553 INTEGER :: ma, mb, mc, md, p_index
5554 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
5556 kbd(1:1*md_max) = 0.0_dp
5558 kad(1:1*md_max) = 0.0_dp
5566 p_bd = pbd((md - 1)*1 + mb)
5567 p_bc =
pbc((mc - 1)*1 + mb)
5569 p_index = p_index + 1
5570 tmp = scale*prim(p_index)
5571 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
5572 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
5573 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
5574 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
5576 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
5577 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
5581 END SUBROUTINE block_1_1_4
5595 SUBROUTINE block_1_1_5_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
5596 REAL(kind=
dp) :: kbd(1*1), kbc(1*5), kad(1*1), kac(1*5), &
5597 pbd(1*1),
pbc(1*5), pad(1*1), &
5598 pac(1*5), prim(1*1*5*1), scale
5600 INTEGER :: ma, mb, mc, md, p_index
5601 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
5613 p_bd = pbd((md - 1)*1 + mb)
5614 p_bc =
pbc((mc - 1)*1 + mb)
5616 p_index = p_index + 1
5617 tmp = scale*prim(p_index)
5618 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
5619 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
5620 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
5621 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
5623 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
5624 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
5628 END SUBROUTINE block_1_1_5_1
5642 SUBROUTINE block_1_1_5_2(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
5643 REAL(kind=
dp) :: kbd(1*2), kbc(1*5), kad(1*2), kac(1*5), &
5644 pbd(1*2),
pbc(1*5), pad(1*2), &
5645 pac(1*5), prim(1*1*5*2), scale
5647 INTEGER :: ma, mb, mc, md, p_index
5648 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
5660 p_bd = pbd((md - 1)*1 + mb)
5661 p_bc =
pbc((mc - 1)*1 + mb)
5663 p_index = p_index + 1
5664 tmp = scale*prim(p_index)
5665 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
5666 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
5667 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
5668 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
5670 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
5671 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
5675 END SUBROUTINE block_1_1_5_2
5689 SUBROUTINE block_1_1_5_3(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
5690 REAL(kind=
dp) :: kbd(1*3), kbc(1*5), kad(1*3), kac(1*5), &
5691 pbd(1*3),
pbc(1*5), pad(1*3), &
5692 pac(1*5), prim(1*1*5*3), scale
5694 INTEGER :: ma, mb, mc, md, p_index
5695 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
5707 p_bd = pbd((md - 1)*1 + mb)
5708 p_bc =
pbc((mc - 1)*1 + mb)
5710 p_index = p_index + 1
5711 tmp = scale*prim(p_index)
5712 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
5713 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
5714 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
5715 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
5717 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
5718 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
5722 END SUBROUTINE block_1_1_5_3
5737 SUBROUTINE block_1_1_5(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
5739 REAL(kind=
dp) :: kbd(1*md_max), kbc(1*5), kad(1*md_max), kac(1*5), pbd(1*md_max),
pbc(1*5), &
5740 pad(1*md_max), pac(1*5), prim(1*1*5*md_max), scale
5742 INTEGER :: ma, mb, mc, md, p_index
5743 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
5745 kbd(1:1*md_max) = 0.0_dp
5747 kad(1:1*md_max) = 0.0_dp
5755 p_bd = pbd((md - 1)*1 + mb)
5756 p_bc =
pbc((mc - 1)*1 + mb)
5758 p_index = p_index + 1
5759 tmp = scale*prim(p_index)
5760 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
5761 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
5762 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
5763 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
5765 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
5766 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
5770 END SUBROUTINE block_1_1_5
5784 SUBROUTINE block_1_1_6_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
5785 REAL(kind=
dp) :: kbd(1*1), kbc(1*6), kad(1*1), kac(1*6), &
5786 pbd(1*1),
pbc(1*6), pad(1*1), &
5787 pac(1*6), prim(1*1*6*1), scale
5789 INTEGER :: ma, mb, mc, md, p_index
5790 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
5802 p_bd = pbd((md - 1)*1 + mb)
5803 p_bc =
pbc((mc - 1)*1 + mb)
5805 p_index = p_index + 1
5806 tmp = scale*prim(p_index)
5807 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
5808 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
5809 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
5810 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
5812 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
5813 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
5817 END SUBROUTINE block_1_1_6_1
5831 SUBROUTINE block_1_1_6_2(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
5832 REAL(kind=
dp) :: kbd(1*2), kbc(1*6), kad(1*2), kac(1*6), &
5833 pbd(1*2),
pbc(1*6), pad(1*2), &
5834 pac(1*6), prim(1*1*6*2), scale
5836 INTEGER :: ma, mb, mc, md, p_index
5837 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
5849 p_bd = pbd((md - 1)*1 + mb)
5850 p_bc =
pbc((mc - 1)*1 + mb)
5852 p_index = p_index + 1
5853 tmp = scale*prim(p_index)
5854 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
5855 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
5856 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
5857 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
5859 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
5860 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
5864 END SUBROUTINE block_1_1_6_2
5878 SUBROUTINE block_1_1_6_3(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
5879 REAL(kind=
dp) :: kbd(1*3), kbc(1*6), kad(1*3), kac(1*6), &
5880 pbd(1*3),
pbc(1*6), pad(1*3), &
5881 pac(1*6), prim(1*1*6*3), scale
5883 INTEGER :: ma, mb, mc, md, p_index
5884 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
5896 p_bd = pbd((md - 1)*1 + mb)
5897 p_bc =
pbc((mc - 1)*1 + mb)
5899 p_index = p_index + 1
5900 tmp = scale*prim(p_index)
5901 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
5902 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
5903 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
5904 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
5906 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
5907 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
5911 END SUBROUTINE block_1_1_6_3
5926 SUBROUTINE block_1_1_6(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
5928 REAL(kind=
dp) :: kbd(1*md_max), kbc(1*6), kad(1*md_max), kac(1*6), pbd(1*md_max),
pbc(1*6), &
5929 pad(1*md_max), pac(1*6), prim(1*1*6*md_max), scale
5931 INTEGER :: ma, mb, mc, md, p_index
5932 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
5934 kbd(1:1*md_max) = 0.0_dp
5936 kad(1:1*md_max) = 0.0_dp
5944 p_bd = pbd((md - 1)*1 + mb)
5945 p_bc =
pbc((mc - 1)*1 + mb)
5947 p_index = p_index + 1
5948 tmp = scale*prim(p_index)
5949 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
5950 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
5951 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
5952 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
5954 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
5955 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
5959 END SUBROUTINE block_1_1_6
5973 SUBROUTINE block_1_1_7_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
5974 REAL(kind=
dp) :: kbd(1*1), kbc(1*7), kad(1*1), kac(1*7), &
5975 pbd(1*1),
pbc(1*7), pad(1*1), &
5976 pac(1*7), prim(1*1*7*1), scale
5978 INTEGER :: ma, mb, mc, md, p_index
5979 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
5991 p_bd = pbd((md - 1)*1 + mb)
5992 p_bc =
pbc((mc - 1)*1 + mb)
5994 p_index = p_index + 1
5995 tmp = scale*prim(p_index)
5996 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
5997 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
5998 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
5999 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
6001 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
6002 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
6006 END SUBROUTINE block_1_1_7_1
6020 SUBROUTINE block_1_1_7_2(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
6021 REAL(kind=
dp) :: kbd(1*2), kbc(1*7), kad(1*2), kac(1*7), &
6022 pbd(1*2),
pbc(1*7), pad(1*2), &
6023 pac(1*7), prim(1*1*7*2), scale
6025 INTEGER :: ma, mb, mc, md, p_index
6026 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
6038 p_bd = pbd((md - 1)*1 + mb)
6039 p_bc =
pbc((mc - 1)*1 + mb)
6041 p_index = p_index + 1
6042 tmp = scale*prim(p_index)
6043 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
6044 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
6045 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
6046 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
6048 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
6049 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
6053 END SUBROUTINE block_1_1_7_2
6068 SUBROUTINE block_1_1_7(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
6070 REAL(kind=
dp) :: kbd(1*md_max), kbc(1*7), kad(1*md_max), kac(1*7), pbd(1*md_max),
pbc(1*7), &
6071 pad(1*md_max), pac(1*7), prim(1*1*7*md_max), scale
6073 INTEGER :: ma, mb, mc, md, p_index
6074 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
6076 kbd(1:1*md_max) = 0.0_dp
6078 kad(1:1*md_max) = 0.0_dp
6086 p_bd = pbd((md - 1)*1 + mb)
6087 p_bc =
pbc((mc - 1)*1 + mb)
6089 p_index = p_index + 1
6090 tmp = scale*prim(p_index)
6091 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
6092 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
6093 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
6094 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
6096 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
6097 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
6101 END SUBROUTINE block_1_1_7
6115 SUBROUTINE block_1_1_9_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
6116 REAL(kind=
dp) :: kbd(1*1), kbc(1*9), kad(1*1), kac(1*9), &
6117 pbd(1*1),
pbc(1*9), pad(1*1), &
6118 pac(1*9), prim(1*1*9*1), scale
6120 INTEGER :: ma, mb, mc, md, p_index
6121 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
6133 p_bd = pbd((md - 1)*1 + mb)
6134 p_bc =
pbc((mc - 1)*1 + mb)
6136 p_index = p_index + 1
6137 tmp = scale*prim(p_index)
6138 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
6139 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
6140 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
6141 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
6143 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
6144 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
6148 END SUBROUTINE block_1_1_9_1
6162 SUBROUTINE block_1_1_9_2(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
6163 REAL(kind=
dp) :: kbd(1*2), kbc(1*9), kad(1*2), kac(1*9), &
6164 pbd(1*2),
pbc(1*9), pad(1*2), &
6165 pac(1*9), prim(1*1*9*2), scale
6167 INTEGER :: ma, mb, mc, md, p_index
6168 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
6180 p_bd = pbd((md - 1)*1 + mb)
6181 p_bc =
pbc((mc - 1)*1 + mb)
6183 p_index = p_index + 1
6184 tmp = scale*prim(p_index)
6185 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
6186 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
6187 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
6188 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
6190 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
6191 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
6195 END SUBROUTINE block_1_1_9_2
6210 SUBROUTINE block_1_1_9(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
6212 REAL(kind=
dp) :: kbd(1*md_max), kbc(1*9), kad(1*md_max), kac(1*9), pbd(1*md_max),
pbc(1*9), &
6213 pad(1*md_max), pac(1*9), prim(1*1*9*md_max), scale
6215 INTEGER :: ma, mb, mc, md, p_index
6216 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
6218 kbd(1:1*md_max) = 0.0_dp
6220 kad(1:1*md_max) = 0.0_dp
6228 p_bd = pbd((md - 1)*1 + mb)
6229 p_bc =
pbc((mc - 1)*1 + mb)
6231 p_index = p_index + 1
6232 tmp = scale*prim(p_index)
6233 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
6234 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
6235 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
6236 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
6238 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
6239 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
6243 END SUBROUTINE block_1_1_9
6257 SUBROUTINE block_1_1_10_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
6258 REAL(kind=
dp) :: kbd(1*1), kbc(1*10), kad(1*1), &
6259 kac(1*10), pbd(1*1),
pbc(1*10), &
6260 pad(1*1), pac(1*10), prim(1*1*10*1), &
6263 INTEGER :: ma, mb, mc, md, p_index
6264 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
6267 kbc(1:1*10) = 0.0_dp
6269 kac(1:1*10) = 0.0_dp
6276 p_bd = pbd((md - 1)*1 + mb)
6277 p_bc =
pbc((mc - 1)*1 + mb)
6279 p_index = p_index + 1
6280 tmp = scale*prim(p_index)
6281 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
6282 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
6283 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
6284 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
6286 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
6287 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
6291 END SUBROUTINE block_1_1_10_1
6306 SUBROUTINE block_1_1_10(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
6308 REAL(kind=
dp) :: kbd(1*md_max), kbc(1*10), kad(1*md_max), kac(1*10), pbd(1*md_max), &
6309 pbc(1*10), pad(1*md_max), pac(1*10), prim(1*1*10*md_max), scale
6311 INTEGER :: ma, mb, mc, md, p_index
6312 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
6314 kbd(1:1*md_max) = 0.0_dp
6315 kbc(1:1*10) = 0.0_dp
6316 kad(1:1*md_max) = 0.0_dp
6317 kac(1:1*10) = 0.0_dp
6324 p_bd = pbd((md - 1)*1 + mb)
6325 p_bc =
pbc((mc - 1)*1 + mb)
6327 p_index = p_index + 1
6328 tmp = scale*prim(p_index)
6329 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
6330 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
6331 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
6332 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
6334 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
6335 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
6339 END SUBROUTINE block_1_1_10
6353 SUBROUTINE block_1_1_11_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
6354 REAL(kind=
dp) :: kbd(1*1), kbc(1*11), kad(1*1), &
6355 kac(1*11), pbd(1*1),
pbc(1*11), &
6356 pad(1*1), pac(1*11), prim(1*1*11*1), &
6359 INTEGER :: ma, mb, mc, md, p_index
6360 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
6363 kbc(1:1*11) = 0.0_dp
6365 kac(1:1*11) = 0.0_dp
6372 p_bd = pbd((md - 1)*1 + mb)
6373 p_bc =
pbc((mc - 1)*1 + mb)
6375 p_index = p_index + 1
6376 tmp = scale*prim(p_index)
6377 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
6378 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
6379 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
6380 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
6382 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
6383 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
6387 END SUBROUTINE block_1_1_11_1
6402 SUBROUTINE block_1_1_11(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
6404 REAL(kind=
dp) :: kbd(1*md_max), kbc(1*11), kad(1*md_max), kac(1*11), pbd(1*md_max), &
6405 pbc(1*11), pad(1*md_max), pac(1*11), prim(1*1*11*md_max), scale
6407 INTEGER :: ma, mb, mc, md, p_index
6408 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
6410 kbd(1:1*md_max) = 0.0_dp
6411 kbc(1:1*11) = 0.0_dp
6412 kad(1:1*md_max) = 0.0_dp
6413 kac(1:1*11) = 0.0_dp
6420 p_bd = pbd((md - 1)*1 + mb)
6421 p_bc =
pbc((mc - 1)*1 + mb)
6423 p_index = p_index + 1
6424 tmp = scale*prim(p_index)
6425 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
6426 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
6427 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
6428 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
6430 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
6431 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
6435 END SUBROUTINE block_1_1_11
6449 SUBROUTINE block_1_1_15_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
6450 REAL(kind=
dp) :: kbd(1*1), kbc(1*15), kad(1*1), &
6451 kac(1*15), pbd(1*1),
pbc(1*15), &
6452 pad(1*1), pac(1*15), prim(1*1*15*1), &
6455 INTEGER :: ma, mb, mc, md, p_index
6456 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
6459 kbc(1:1*15) = 0.0_dp
6461 kac(1:1*15) = 0.0_dp
6468 p_bd = pbd((md - 1)*1 + mb)
6469 p_bc =
pbc((mc - 1)*1 + mb)
6471 p_index = p_index + 1
6472 tmp = scale*prim(p_index)
6473 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
6474 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
6475 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
6476 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
6478 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
6479 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
6483 END SUBROUTINE block_1_1_15_1
6498 SUBROUTINE block_1_1_15(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
6500 REAL(kind=
dp) :: kbd(1*md_max), kbc(1*15), kad(1*md_max), kac(1*15), pbd(1*md_max), &
6501 pbc(1*15), pad(1*md_max), pac(1*15), prim(1*1*15*md_max), scale
6503 INTEGER :: ma, mb, mc, md, p_index
6504 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
6506 kbd(1:1*md_max) = 0.0_dp
6507 kbc(1:1*15) = 0.0_dp
6508 kad(1:1*md_max) = 0.0_dp
6509 kac(1:1*15) = 0.0_dp
6516 p_bd = pbd((md - 1)*1 + mb)
6517 p_bc =
pbc((mc - 1)*1 + mb)
6519 p_index = p_index + 1
6520 tmp = scale*prim(p_index)
6521 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
6522 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
6523 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
6524 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
6526 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
6527 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
6531 END SUBROUTINE block_1_1_15
6545 SUBROUTINE block_1_2_1_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
6546 REAL(kind=
dp) :: kbd(2*1), kbc(2*1), kad(1*1), kac(1*1), &
6547 pbd(2*1),
pbc(2*1), pad(1*1), &
6548 pac(1*1), prim(1*2*1*1), scale
6550 INTEGER :: ma, mb, mc, md, p_index
6551 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
6563 p_bd = pbd((md - 1)*2 + mb)
6564 p_bc =
pbc((mc - 1)*2 + mb)
6566 p_index = p_index + 1
6567 tmp = scale*prim(p_index)
6568 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
6569 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
6570 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
6571 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
6573 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
6574 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
6578 END SUBROUTINE block_1_2_1_1
6592 SUBROUTINE block_1_2_1_2(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
6593 REAL(kind=
dp) :: kbd(2*2), kbc(2*1), kad(1*2), kac(1*1), &
6594 pbd(2*2),
pbc(2*1), pad(1*2), &
6595 pac(1*1), prim(1*2*1*2), scale
6597 INTEGER :: ma, mb, mc, md, p_index
6598 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
6610 p_bd = pbd((md - 1)*2 + mb)
6611 p_bc =
pbc((mc - 1)*2 + mb)
6613 p_index = p_index + 1
6614 tmp = scale*prim(p_index)
6615 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
6616 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
6617 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
6618 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
6620 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
6621 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
6625 END SUBROUTINE block_1_2_1_2
6639 SUBROUTINE block_1_2_1_3(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
6640 REAL(kind=
dp) :: kbd(2*3), kbc(2*1), kad(1*3), kac(1*1), &
6641 pbd(2*3),
pbc(2*1), pad(1*3), &
6642 pac(1*1), prim(1*2*1*3), scale
6644 INTEGER :: ma, mb, mc, md, p_index
6645 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
6657 p_bd = pbd((md - 1)*2 + mb)
6658 p_bc =
pbc((mc - 1)*2 + mb)
6660 p_index = p_index + 1
6661 tmp = scale*prim(p_index)
6662 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
6663 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
6664 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
6665 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
6667 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
6668 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
6672 END SUBROUTINE block_1_2_1_3
6686 SUBROUTINE block_1_2_1_4(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
6687 REAL(kind=
dp) :: kbd(2*4), kbc(2*1), kad(1*4), kac(1*1), &
6688 pbd(2*4),
pbc(2*1), pad(1*4), &
6689 pac(1*1), prim(1*2*1*4), scale
6691 INTEGER :: ma, mb, mc, md, p_index
6692 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
6704 p_bd = pbd((md - 1)*2 + mb)
6705 p_bc =
pbc((mc - 1)*2 + mb)
6707 p_index = p_index + 1
6708 tmp = scale*prim(p_index)
6709 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
6710 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
6711 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
6712 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
6714 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
6715 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
6719 END SUBROUTINE block_1_2_1_4
6733 SUBROUTINE block_1_2_1_5(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
6734 REAL(kind=
dp) :: kbd(2*5), kbc(2*1), kad(1*5), kac(1*1), &
6735 pbd(2*5),
pbc(2*1), pad(1*5), &
6736 pac(1*1), prim(1*2*1*5), scale
6738 INTEGER :: ma, mb, mc, md, p_index
6739 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
6751 p_bd = pbd((md - 1)*2 + mb)
6752 p_bc =
pbc((mc - 1)*2 + mb)
6754 p_index = p_index + 1
6755 tmp = scale*prim(p_index)
6756 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
6757 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
6758 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
6759 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
6761 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
6762 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
6766 END SUBROUTINE block_1_2_1_5
6780 SUBROUTINE block_1_2_1_6(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
6781 REAL(kind=
dp) :: kbd(2*6), kbc(2*1), kad(1*6), kac(1*1), &
6782 pbd(2*6),
pbc(2*1), pad(1*6), &
6783 pac(1*1), prim(1*2*1*6), scale
6785 INTEGER :: ma, mb, mc, md, p_index
6786 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
6798 p_bd = pbd((md - 1)*2 + mb)
6799 p_bc =
pbc((mc - 1)*2 + mb)
6801 p_index = p_index + 1
6802 tmp = scale*prim(p_index)
6803 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
6804 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
6805 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
6806 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
6808 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
6809 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
6813 END SUBROUTINE block_1_2_1_6
6827 SUBROUTINE block_1_2_1_7(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
6828 REAL(kind=
dp) :: kbd(2*7), kbc(2*1), kad(1*7), kac(1*1), &
6829 pbd(2*7),
pbc(2*1), pad(1*7), &
6830 pac(1*1), prim(1*2*1*7), scale
6832 INTEGER :: ma, mb, mc, md, p_index
6833 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
6845 p_bd = pbd((md - 1)*2 + mb)
6846 p_bc =
pbc((mc - 1)*2 + mb)
6848 p_index = p_index + 1
6849 tmp = scale*prim(p_index)
6850 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
6851 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
6852 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
6853 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
6855 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
6856 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
6860 END SUBROUTINE block_1_2_1_7
6874 SUBROUTINE block_1_2_1_9(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
6875 REAL(kind=
dp) :: kbd(2*9), kbc(2*1), kad(1*9), kac(1*1), &
6876 pbd(2*9),
pbc(2*1), pad(1*9), &
6877 pac(1*1), prim(1*2*1*9), scale
6879 INTEGER :: ma, mb, mc, md, p_index
6880 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
6892 p_bd = pbd((md - 1)*2 + mb)
6893 p_bc =
pbc((mc - 1)*2 + mb)
6895 p_index = p_index + 1
6896 tmp = scale*prim(p_index)
6897 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
6898 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
6899 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
6900 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
6902 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
6903 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
6907 END SUBROUTINE block_1_2_1_9
6922 SUBROUTINE block_1_2_1(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
6924 REAL(kind=
dp) :: kbd(2*md_max), kbc(2*1), kad(1*md_max), kac(1*1), pbd(2*md_max),
pbc(2*1), &
6925 pad(1*md_max), pac(1*1), prim(1*2*1*md_max), scale
6927 INTEGER :: ma, mb, mc, md, p_index
6928 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
6930 kbd(1:2*md_max) = 0.0_dp
6932 kad(1:1*md_max) = 0.0_dp
6940 p_bd = pbd((md - 1)*2 + mb)
6941 p_bc =
pbc((mc - 1)*2 + mb)
6943 p_index = p_index + 1
6944 tmp = scale*prim(p_index)
6945 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
6946 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
6947 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
6948 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
6950 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
6951 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
6955 END SUBROUTINE block_1_2_1
6969 SUBROUTINE block_1_2_2_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
6970 REAL(kind=
dp) :: kbd(2*1), kbc(2*2), kad(1*1), kac(1*2), &
6971 pbd(2*1),
pbc(2*2), pad(1*1), &
6972 pac(1*2), prim(1*2*2*1), scale
6974 INTEGER :: ma, mb, mc, md, p_index
6975 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
6987 p_bd = pbd((md - 1)*2 + mb)
6988 p_bc =
pbc((mc - 1)*2 + mb)
6990 p_index = p_index + 1
6991 tmp = scale*prim(p_index)
6992 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
6993 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
6994 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
6995 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
6997 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
6998 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
7002 END SUBROUTINE block_1_2_2_1
7016 SUBROUTINE block_1_2_2_2(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
7017 REAL(kind=
dp) :: kbd(2*2), kbc(2*2), kad(1*2), kac(1*2), &
7018 pbd(2*2),
pbc(2*2), pad(1*2), &
7019 pac(1*2), prim(1*2*2*2), scale
7021 INTEGER :: ma, mb, mc, md, p_index
7022 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
7034 p_bd = pbd((md - 1)*2 + mb)
7035 p_bc =
pbc((mc - 1)*2 + mb)
7037 p_index = p_index + 1
7038 tmp = scale*prim(p_index)
7039 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
7040 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
7041 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
7042 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
7044 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
7045 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
7049 END SUBROUTINE block_1_2_2_2
7063 SUBROUTINE block_1_2_2_3(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
7064 REAL(kind=
dp) :: kbd(2*3), kbc(2*2), kad(1*3), kac(1*2), &
7065 pbd(2*3),
pbc(2*2), pad(1*3), &
7066 pac(1*2), prim(1*2*2*3), scale
7068 INTEGER :: ma, mb, mc, md, p_index
7069 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
7081 p_bd = pbd((md - 1)*2 + mb)
7082 p_bc =
pbc((mc - 1)*2 + mb)
7084 p_index = p_index + 1
7085 tmp = scale*prim(p_index)
7086 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
7087 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
7088 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
7089 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
7091 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
7092 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
7096 END SUBROUTINE block_1_2_2_3
7110 SUBROUTINE block_1_2_2_4(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
7111 REAL(kind=
dp) :: kbd(2*4), kbc(2*2), kad(1*4), kac(1*2), &
7112 pbd(2*4),
pbc(2*2), pad(1*4), &
7113 pac(1*2), prim(1*2*2*4), scale
7115 INTEGER :: ma, mb, mc, md, p_index
7116 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
7128 p_bd = pbd((md - 1)*2 + mb)
7129 p_bc =
pbc((mc - 1)*2 + mb)
7131 p_index = p_index + 1
7132 tmp = scale*prim(p_index)
7133 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
7134 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
7135 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
7136 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
7138 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
7139 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
7143 END SUBROUTINE block_1_2_2_4
7158 SUBROUTINE block_1_2_2(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
7160 REAL(kind=
dp) :: kbd(2*md_max), kbc(2*2), kad(1*md_max), kac(1*2), pbd(2*md_max),
pbc(2*2), &
7161 pad(1*md_max), pac(1*2), prim(1*2*2*md_max), scale
7163 INTEGER :: ma, mb, mc, md, p_index
7164 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
7166 kbd(1:2*md_max) = 0.0_dp
7168 kad(1:1*md_max) = 0.0_dp
7176 p_bd = pbd((md - 1)*2 + mb)
7177 p_bc =
pbc((mc - 1)*2 + mb)
7179 p_index = p_index + 1
7180 tmp = scale*prim(p_index)
7181 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
7182 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
7183 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
7184 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
7186 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
7187 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
7191 END SUBROUTINE block_1_2_2
7205 SUBROUTINE block_1_2_3_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
7206 REAL(kind=
dp) :: kbd(2*1), kbc(2*3), kad(1*1), kac(1*3), &
7207 pbd(2*1),
pbc(2*3), pad(1*1), &
7208 pac(1*3), prim(1*2*3*1), scale
7210 INTEGER :: ma, mb, mc, md, p_index
7211 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
7223 p_bd = pbd((md - 1)*2 + mb)
7224 p_bc =
pbc((mc - 1)*2 + mb)
7226 p_index = p_index + 1
7227 tmp = scale*prim(p_index)
7228 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
7229 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
7230 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
7231 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
7233 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
7234 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
7238 END SUBROUTINE block_1_2_3_1
7252 SUBROUTINE block_1_2_3_2(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
7253 REAL(kind=
dp) :: kbd(2*2), kbc(2*3), kad(1*2), kac(1*3), &
7254 pbd(2*2),
pbc(2*3), pad(1*2), &
7255 pac(1*3), prim(1*2*3*2), scale
7257 INTEGER :: ma, mb, mc, md, p_index
7258 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
7270 p_bd = pbd((md - 1)*2 + mb)
7271 p_bc =
pbc((mc - 1)*2 + mb)
7273 p_index = p_index + 1
7274 tmp = scale*prim(p_index)
7275 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
7276 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
7277 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
7278 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
7280 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
7281 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
7285 END SUBROUTINE block_1_2_3_2
7299 SUBROUTINE block_1_2_3_3(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
7300 REAL(kind=
dp) :: kbd(2*3), kbc(2*3), kad(1*3), kac(1*3), &
7301 pbd(2*3),
pbc(2*3), pad(1*3), &
7302 pac(1*3), prim(1*2*3*3), scale
7304 INTEGER :: ma, mb, mc, md, p_index
7305 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
7317 p_bd = pbd((md - 1)*2 + mb)
7318 p_bc =
pbc((mc - 1)*2 + mb)
7320 p_index = p_index + 1
7321 tmp = scale*prim(p_index)
7322 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
7323 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
7324 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
7325 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
7327 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
7328 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
7332 END SUBROUTINE block_1_2_3_3
7347 SUBROUTINE block_1_2_3(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
7349 REAL(kind=
dp) :: kbd(2*md_max), kbc(2*3), kad(1*md_max), kac(1*3), pbd(2*md_max),
pbc(2*3), &
7350 pad(1*md_max), pac(1*3), prim(1*2*3*md_max), scale
7352 INTEGER :: ma, mb, mc, md, p_index
7353 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
7355 kbd(1:2*md_max) = 0.0_dp
7357 kad(1:1*md_max) = 0.0_dp
7365 p_bd = pbd((md - 1)*2 + mb)
7366 p_bc =
pbc((mc - 1)*2 + mb)
7368 p_index = p_index + 1
7369 tmp = scale*prim(p_index)
7370 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
7371 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
7372 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
7373 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
7375 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
7376 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
7380 END SUBROUTINE block_1_2_3
7394 SUBROUTINE block_1_2_4_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
7395 REAL(kind=
dp) :: kbd(2*1), kbc(2*4), kad(1*1), kac(1*4), &
7396 pbd(2*1),
pbc(2*4), pad(1*1), &
7397 pac(1*4), prim(1*2*4*1), scale
7399 INTEGER :: ma, mb, mc, md, p_index
7400 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
7412 p_bd = pbd((md - 1)*2 + mb)
7413 p_bc =
pbc((mc - 1)*2 + mb)
7415 p_index = p_index + 1
7416 tmp = scale*prim(p_index)
7417 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
7418 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
7419 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
7420 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
7422 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
7423 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
7427 END SUBROUTINE block_1_2_4_1
7441 SUBROUTINE block_1_2_4_2(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
7442 REAL(kind=
dp) :: kbd(2*2), kbc(2*4), kad(1*2), kac(1*4), &
7443 pbd(2*2),
pbc(2*4), pad(1*2), &
7444 pac(1*4), prim(1*2*4*2), scale
7446 INTEGER :: ma, mb, mc, md, p_index
7447 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
7459 p_bd = pbd((md - 1)*2 + mb)
7460 p_bc =
pbc((mc - 1)*2 + mb)
7462 p_index = p_index + 1
7463 tmp = scale*prim(p_index)
7464 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
7465 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
7466 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
7467 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
7469 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
7470 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
7474 END SUBROUTINE block_1_2_4_2
7489 SUBROUTINE block_1_2_4(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
7491 REAL(kind=
dp) :: kbd(2*md_max), kbc(2*4), kad(1*md_max), kac(1*4), pbd(2*md_max),
pbc(2*4), &
7492 pad(1*md_max), pac(1*4), prim(1*2*4*md_max), scale
7494 INTEGER :: ma, mb, mc, md, p_index
7495 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
7497 kbd(1:2*md_max) = 0.0_dp
7499 kad(1:1*md_max) = 0.0_dp
7507 p_bd = pbd((md - 1)*2 + mb)
7508 p_bc =
pbc((mc - 1)*2 + mb)
7510 p_index = p_index + 1
7511 tmp = scale*prim(p_index)
7512 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
7513 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
7514 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
7515 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
7517 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
7518 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
7522 END SUBROUTINE block_1_2_4
7536 SUBROUTINE block_1_2_5_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
7537 REAL(kind=
dp) :: kbd(2*1), kbc(2*5), kad(1*1), kac(1*5), &
7538 pbd(2*1),
pbc(2*5), pad(1*1), &
7539 pac(1*5), prim(1*2*5*1), scale
7541 INTEGER :: ma, mb, mc, md, p_index
7542 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
7554 p_bd = pbd((md - 1)*2 + mb)
7555 p_bc =
pbc((mc - 1)*2 + mb)
7557 p_index = p_index + 1
7558 tmp = scale*prim(p_index)
7559 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
7560 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
7561 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
7562 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
7564 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
7565 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
7569 END SUBROUTINE block_1_2_5_1
7584 SUBROUTINE block_1_2_5(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
7586 REAL(kind=
dp) :: kbd(2*md_max), kbc(2*5), kad(1*md_max), kac(1*5), pbd(2*md_max),
pbc(2*5), &
7587 pad(1*md_max), pac(1*5), prim(1*2*5*md_max), scale
7589 INTEGER :: ma, mb, mc, md, p_index
7590 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
7592 kbd(1:2*md_max) = 0.0_dp
7594 kad(1:1*md_max) = 0.0_dp
7602 p_bd = pbd((md - 1)*2 + mb)
7603 p_bc =
pbc((mc - 1)*2 + mb)
7605 p_index = p_index + 1
7606 tmp = scale*prim(p_index)
7607 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
7608 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
7609 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
7610 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
7612 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
7613 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
7617 END SUBROUTINE block_1_2_5
7631 SUBROUTINE block_1_2_6_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
7632 REAL(kind=
dp) :: kbd(2*1), kbc(2*6), kad(1*1), kac(1*6), &
7633 pbd(2*1),
pbc(2*6), pad(1*1), &
7634 pac(1*6), prim(1*2*6*1), scale
7636 INTEGER :: ma, mb, mc, md, p_index
7637 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
7649 p_bd = pbd((md - 1)*2 + mb)
7650 p_bc =
pbc((mc - 1)*2 + mb)
7652 p_index = p_index + 1
7653 tmp = scale*prim(p_index)
7654 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
7655 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
7656 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
7657 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
7659 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
7660 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
7664 END SUBROUTINE block_1_2_6_1
7679 SUBROUTINE block_1_2_6(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
7681 REAL(kind=
dp) :: kbd(2*md_max), kbc(2*6), kad(1*md_max), kac(1*6), pbd(2*md_max),
pbc(2*6), &
7682 pad(1*md_max), pac(1*6), prim(1*2*6*md_max), scale
7684 INTEGER :: ma, mb, mc, md, p_index
7685 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
7687 kbd(1:2*md_max) = 0.0_dp
7689 kad(1:1*md_max) = 0.0_dp
7697 p_bd = pbd((md - 1)*2 + mb)
7698 p_bc =
pbc((mc - 1)*2 + mb)
7700 p_index = p_index + 1
7701 tmp = scale*prim(p_index)
7702 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
7703 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
7704 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
7705 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
7707 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
7708 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
7712 END SUBROUTINE block_1_2_6
7726 SUBROUTINE block_1_2_7_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
7727 REAL(kind=
dp) :: kbd(2*1), kbc(2*7), kad(1*1), kac(1*7), &
7728 pbd(2*1),
pbc(2*7), pad(1*1), &
7729 pac(1*7), prim(1*2*7*1), scale
7731 INTEGER :: ma, mb, mc, md, p_index
7732 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
7744 p_bd = pbd((md - 1)*2 + mb)
7745 p_bc =
pbc((mc - 1)*2 + mb)
7747 p_index = p_index + 1
7748 tmp = scale*prim(p_index)
7749 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
7750 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
7751 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
7752 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
7754 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
7755 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
7759 END SUBROUTINE block_1_2_7_1
7774 SUBROUTINE block_1_2_7(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
7776 REAL(kind=
dp) :: kbd(2*md_max), kbc(2*7), kad(1*md_max), kac(1*7), pbd(2*md_max),
pbc(2*7), &
7777 pad(1*md_max), pac(1*7), prim(1*2*7*md_max), scale
7779 INTEGER :: ma, mb, mc, md, p_index
7780 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
7782 kbd(1:2*md_max) = 0.0_dp
7784 kad(1:1*md_max) = 0.0_dp
7792 p_bd = pbd((md - 1)*2 + mb)
7793 p_bc =
pbc((mc - 1)*2 + mb)
7795 p_index = p_index + 1
7796 tmp = scale*prim(p_index)
7797 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
7798 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
7799 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
7800 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
7802 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
7803 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
7807 END SUBROUTINE block_1_2_7
7821 SUBROUTINE block_1_2_9_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
7822 REAL(kind=
dp) :: kbd(2*1), kbc(2*9), kad(1*1), kac(1*9), &
7823 pbd(2*1),
pbc(2*9), pad(1*1), &
7824 pac(1*9), prim(1*2*9*1), scale
7826 INTEGER :: ma, mb, mc, md, p_index
7827 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
7839 p_bd = pbd((md - 1)*2 + mb)
7840 p_bc =
pbc((mc - 1)*2 + mb)
7842 p_index = p_index + 1
7843 tmp = scale*prim(p_index)
7844 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
7845 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
7846 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
7847 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
7849 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
7850 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
7854 END SUBROUTINE block_1_2_9_1
7869 SUBROUTINE block_1_2_9(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
7871 REAL(kind=
dp) :: kbd(2*md_max), kbc(2*9), kad(1*md_max), kac(1*9), pbd(2*md_max),
pbc(2*9), &
7872 pad(1*md_max), pac(1*9), prim(1*2*9*md_max), scale
7874 INTEGER :: ma, mb, mc, md, p_index
7875 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
7877 kbd(1:2*md_max) = 0.0_dp
7879 kad(1:1*md_max) = 0.0_dp
7887 p_bd = pbd((md - 1)*2 + mb)
7888 p_bc =
pbc((mc - 1)*2 + mb)
7890 p_index = p_index + 1
7891 tmp = scale*prim(p_index)
7892 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
7893 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
7894 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
7895 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
7897 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
7898 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
7902 END SUBROUTINE block_1_2_9
7918 SUBROUTINE block_1_2(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
7919 INTEGER :: mc_max, md_max
7920 REAL(kind=
dp) :: kbd(2*md_max), kbc(2*mc_max), kad(1*md_max), kac(1*mc_max), pbd(2*md_max), &
7921 pbc(2*mc_max), pad(1*md_max), pac(1*mc_max), prim(1*2*mc_max*md_max), scale
7923 INTEGER :: ma, mb, mc, md, p_index
7924 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
7926 kbd(1:2*md_max) = 0.0_dp
7927 kbc(1:2*mc_max) = 0.0_dp
7928 kad(1:1*md_max) = 0.0_dp
7929 kac(1:1*mc_max) = 0.0_dp
7936 p_bd = pbd((md - 1)*2 + mb)
7937 p_bc =
pbc((mc - 1)*2 + mb)
7939 p_index = p_index + 1
7940 tmp = scale*prim(p_index)
7941 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
7942 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
7943 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
7944 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
7946 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
7947 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
7951 END SUBROUTINE block_1_2
7965 SUBROUTINE block_1_3_1_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
7966 REAL(kind=
dp) :: kbd(3*1), kbc(3*1), kad(1*1), kac(1*1), &
7967 pbd(3*1),
pbc(3*1), pad(1*1), &
7968 pac(1*1), prim(1*3*1*1), scale
7970 INTEGER :: ma, mb, mc, md, p_index
7971 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
7983 p_bd = pbd((md - 1)*3 + mb)
7984 p_bc =
pbc((mc - 1)*3 + mb)
7986 p_index = p_index + 1
7987 tmp = scale*prim(p_index)
7988 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
7989 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
7990 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
7991 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
7993 kbd((md - 1)*3 + mb) = kbd((md - 1)*3 + mb) - ks_bd
7994 kbc((mc - 1)*3 + mb) = kbc((mc - 1)*3 + mb) - ks_bc
7998 END SUBROUTINE block_1_3_1_1
8012 SUBROUTINE block_1_3_1_2(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
8013 REAL(kind=
dp) :: kbd(3*2), kbc(3*1), kad(1*2), kac(1*1), &
8014 pbd(3*2),
pbc(3*1), pad(1*2), &
8015 pac(1*1), prim(1*3*1*2), scale
8017 INTEGER :: ma, mb, mc, md, p_index
8018 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
8030 p_bd = pbd((md - 1)*3 + mb)
8031 p_bc =
pbc((mc - 1)*3 + mb)
8033 p_index = p_index + 1
8034 tmp = scale*prim(p_index)
8035 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
8036 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
8037 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
8038 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
8040 kbd((md - 1)*3 + mb) = kbd((md - 1)*3 + mb) - ks_bd
8041 kbc((mc - 1)*3 + mb) = kbc((mc - 1)*3 + mb) - ks_bc
8045 END SUBROUTINE block_1_3_1_2
8059 SUBROUTINE block_1_3_1_3(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
8060 REAL(kind=
dp) :: kbd(3*3), kbc(3*1), kad(1*3), kac(1*1), &
8061 pbd(3*3),
pbc(3*1), pad(1*3), &
8062 pac(1*1), prim(1*3*1*3), scale
8064 INTEGER :: ma, mb, mc, md, p_index
8065 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
8077 p_bd = pbd((md - 1)*3 + mb)
8078 p_bc =
pbc((mc - 1)*3 + mb)
8080 p_index = p_index + 1
8081 tmp = scale*prim(p_index)
8082 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
8083 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
8084 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
8085 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
8087 kbd((md - 1)*3 + mb) = kbd((md - 1)*3 + mb) - ks_bd
8088 kbc((mc - 1)*3 + mb) = kbc((mc - 1)*3 + mb) - ks_bc
8092 END SUBROUTINE block_1_3_1_3
8106 SUBROUTINE block_1_3_1_4(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
8107 REAL(kind=
dp) :: kbd(3*4), kbc(3*1), kad(1*4), kac(1*1), &
8108 pbd(3*4),
pbc(3*1), pad(1*4), &
8109 pac(1*1), prim(1*3*1*4), scale
8111 INTEGER :: ma, mb, mc, md, p_index
8112 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
8124 p_bd = pbd((md - 1)*3 + mb)
8125 p_bc =
pbc((mc - 1)*3 + mb)
8127 p_index = p_index + 1
8128 tmp = scale*prim(p_index)
8129 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
8130 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
8131 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
8132 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
8134 kbd((md - 1)*3 + mb) = kbd((md - 1)*3 + mb) - ks_bd
8135 kbc((mc - 1)*3 + mb) = kbc((mc - 1)*3 + mb) - ks_bc
8139 END SUBROUTINE block_1_3_1_4
8153 SUBROUTINE block_1_3_1_5(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
8154 REAL(kind=
dp) :: kbd(3*5), kbc(3*1), kad(1*5), kac(1*1), &
8155 pbd(3*5),
pbc(3*1), pad(1*5), &
8156 pac(1*1), prim(1*3*1*5), scale
8158 INTEGER :: ma, mb, mc, md, p_index
8159 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
8171 p_bd = pbd((md - 1)*3 + mb)
8172 p_bc =
pbc((mc - 1)*3 + mb)
8174 p_index = p_index + 1
8175 tmp = scale*prim(p_index)
8176 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
8177 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
8178 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
8179 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
8181 kbd((md - 1)*3 + mb) = kbd((md - 1)*3 + mb) - ks_bd
8182 kbc((mc - 1)*3 + mb) = kbc((mc - 1)*3 + mb) - ks_bc
8186 END SUBROUTINE block_1_3_1_5
8200 SUBROUTINE block_1_3_1_6(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
8201 REAL(kind=
dp) :: kbd(3*6), kbc(3*1), kad(1*6), kac(1*1), &
8202 pbd(3*6),
pbc(3*1), pad(1*6), &
8203 pac(1*1), prim(1*3*1*6), scale
8205 INTEGER :: ma, mb, mc, md, p_index
8206 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
8218 p_bd = pbd((md - 1)*3 + mb)
8219 p_bc =
pbc((mc - 1)*3 + mb)
8221 p_index = p_index + 1
8222 tmp = scale*prim(p_index)
8223 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
8224 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
8225 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
8226 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
8228 kbd((md - 1)*3 + mb) = kbd((md - 1)*3 + mb) - ks_bd
8229 kbc((mc - 1)*3 + mb) = kbc((mc - 1)*3 + mb) - ks_bc
8233 END SUBROUTINE block_1_3_1_6
8248 SUBROUTINE block_1_3_1(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
8250 REAL(kind=
dp) :: kbd(3*md_max), kbc(3*1), kad(1*md_max), kac(1*1), pbd(3*md_max),
pbc(3*1), &
8251 pad(1*md_max), pac(1*1), prim(1*3*1*md_max), scale
8253 INTEGER :: ma, mb, mc, md, p_index
8254 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
8256 kbd(1:3*md_max) = 0.0_dp
8258 kad(1:1*md_max) = 0.0_dp
8266 p_bd = pbd((md - 1)*3 + mb)
8267 p_bc =
pbc((mc - 1)*3 + mb)
8269 p_index = p_index + 1
8270 tmp = scale*prim(p_index)
8271 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
8272 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
8273 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
8274 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
8276 kbd((md - 1)*3 + mb) = kbd((md - 1)*3 + mb) - ks_bd
8277 kbc((mc - 1)*3 + mb) = kbc((mc - 1)*3 + mb) - ks_bc
8281 END SUBROUTINE block_1_3_1
8295 SUBROUTINE block_1_3_2_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
8296 REAL(kind=
dp) :: kbd(3*1), kbc(3*2), kad(1*1), kac(1*2), &
8297 pbd(3*1),
pbc(3*2), pad(1*1), &
8298 pac(1*2), prim(1*3*2*1), scale
8300 INTEGER :: ma, mb, mc, md, p_index
8301 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
8313 p_bd = pbd((md - 1)*3 + mb)
8314 p_bc =
pbc((mc - 1)*3 + mb)
8316 p_index = p_index + 1
8317 tmp = scale*prim(p_index)
8318 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
8319 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
8320 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
8321 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
8323 kbd((md - 1)*3 + mb) = kbd((md - 1)*3 + mb) - ks_bd
8324 kbc((mc - 1)*3 + mb) = kbc((mc - 1)*3 + mb) - ks_bc
8328 END SUBROUTINE block_1_3_2_1
8342 SUBROUTINE block_1_3_2_2(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
8343 REAL(kind=
dp) :: kbd(3*2), kbc(3*2), kad(1*2), kac(1*2), &
8344 pbd(3*2),
pbc(3*2), pad(1*2), &
8345 pac(1*2), prim(1*3*2*2), scale
8347 INTEGER :: ma, mb, mc, md, p_index
8348 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
8360 p_bd = pbd((md - 1)*3 + mb)
8361 p_bc =
pbc((mc - 1)*3 + mb)
8363 p_index = p_index + 1
8364 tmp = scale*prim(p_index)
8365 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
8366 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
8367 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
8368 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
8370 kbd((md - 1)*3 + mb) = kbd((md - 1)*3 + mb) - ks_bd
8371 kbc((mc - 1)*3 + mb) = kbc((mc - 1)*3 + mb) - ks_bc
8375 END SUBROUTINE block_1_3_2_2
8389 SUBROUTINE block_1_3_2_3(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
8390 REAL(kind=
dp) :: kbd(3*3), kbc(3*2), kad(1*3), kac(1*2), &
8391 pbd(3*3),
pbc(3*2), pad(1*3), &
8392 pac(1*2), prim(1*3*2*3), scale
8394 INTEGER :: ma, mb, mc, md, p_index
8395 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
8407 p_bd = pbd((md - 1)*3 + mb)
8408 p_bc =
pbc((mc - 1)*3 + mb)
8410 p_index = p_index + 1
8411 tmp = scale*prim(p_index)
8412 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
8413 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
8414 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
8415 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
8417 kbd((md - 1)*3 + mb) = kbd((md - 1)*3 + mb) - ks_bd
8418 kbc((mc - 1)*3 + mb) = kbc((mc - 1)*3 + mb) - ks_bc
8422 END SUBROUTINE block_1_3_2_3
8437 SUBROUTINE block_1_3_2(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
8439 REAL(kind=
dp) :: kbd(3*md_max), kbc(3*2), kad(1*md_max), kac(1*2), pbd(3*md_max),
pbc(3*2), &
8440 pad(1*md_max), pac(1*2), prim(1*3*2*md_max), scale
8442 INTEGER :: ma, mb, mc, md, p_index
8443 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
8445 kbd(1:3*md_max) = 0.0_dp
8447 kad(1:1*md_max) = 0.0_dp
8455 p_bd = pbd((md - 1)*3 + mb)
8456 p_bc =
pbc((mc - 1)*3 + mb)
8458 p_index = p_index + 1
8459 tmp = scale*prim(p_index)
8460 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
8461 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
8462 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
8463 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
8465 kbd((md - 1)*3 + mb) = kbd((md - 1)*3 + mb) - ks_bd
8466 kbc((mc - 1)*3 + mb) = kbc((mc - 1)*3 + mb) - ks_bc
8470 END SUBROUTINE block_1_3_2
8484 SUBROUTINE block_1_3_3_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
8485 REAL(kind=
dp) :: kbd(3*1), kbc(3*3), kad(1*1), kac(1*3), &
8486 pbd(3*1),
pbc(3*3), pad(1*1), &
8487 pac(1*3), prim(1*3*3*1), scale
8489 INTEGER :: ma, mb, mc, md, p_index
8490 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
8502 p_bd = pbd((md - 1)*3 + mb)
8503 p_bc =
pbc((mc - 1)*3 + mb)
8505 p_index = p_index + 1
8506 tmp = scale*prim(p_index)
8507 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
8508 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
8509 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
8510 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
8512 kbd((md - 1)*3 + mb) = kbd((md - 1)*3 + mb) - ks_bd
8513 kbc((mc - 1)*3 + mb) = kbc((mc - 1)*3 + mb) - ks_bc
8517 END SUBROUTINE block_1_3_3_1
8531 SUBROUTINE block_1_3_3_2(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
8532 REAL(kind=
dp) :: kbd(3*2), kbc(3*3), kad(1*2), kac(1*3), &
8533 pbd(3*2),
pbc(3*3), pad(1*2), &
8534 pac(1*3), prim(1*3*3*2), scale
8536 INTEGER :: ma, mb, mc, md, p_index
8537 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
8549 p_bd = pbd((md - 1)*3 + mb)
8550 p_bc =
pbc((mc - 1)*3 + mb)
8552 p_index = p_index + 1
8553 tmp = scale*prim(p_index)
8554 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
8555 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
8556 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
8557 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
8559 kbd((md - 1)*3 + mb) = kbd((md - 1)*3 + mb) - ks_bd
8560 kbc((mc - 1)*3 + mb) = kbc((mc - 1)*3 + mb) - ks_bc
8564 END SUBROUTINE block_1_3_3_2
8579 SUBROUTINE block_1_3_3(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
8581 REAL(kind=
dp) :: kbd(3*md_max), kbc(3*3), kad(1*md_max), kac(1*3), pbd(3*md_max),
pbc(3*3), &
8582 pad(1*md_max), pac(1*3), prim(1*3*3*md_max), scale
8584 INTEGER :: ma, mb, mc, md, p_index
8585 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
8587 kbd(1:3*md_max) = 0.0_dp
8589 kad(1:1*md_max) = 0.0_dp
8597 p_bd = pbd((md - 1)*3 + mb)
8598 p_bc =
pbc((mc - 1)*3 + mb)
8600 p_index = p_index + 1
8601 tmp = scale*prim(p_index)
8602 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
8603 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
8604 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
8605 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
8607 kbd((md - 1)*3 + mb) = kbd((md - 1)*3 + mb) - ks_bd
8608 kbc((mc - 1)*3 + mb) = kbc((mc - 1)*3 + mb) - ks_bc
8612 END SUBROUTINE block_1_3_3
8626 SUBROUTINE block_1_3_4_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
8627 REAL(kind=
dp) :: kbd(3*1), kbc(3*4), kad(1*1), kac(1*4), &
8628 pbd(3*1),
pbc(3*4), pad(1*1), &
8629 pac(1*4), prim(1*3*4*1), scale
8631 INTEGER :: ma, mb, mc, md, p_index
8632 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
8644 p_bd = pbd((md - 1)*3 + mb)
8645 p_bc =
pbc((mc - 1)*3 + mb)
8647 p_index = p_index + 1
8648 tmp = scale*prim(p_index)
8649 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
8650 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
8651 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
8652 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
8654 kbd((md - 1)*3 + mb) = kbd((md - 1)*3 + mb) - ks_bd
8655 kbc((mc - 1)*3 + mb) = kbc((mc - 1)*3 + mb) - ks_bc
8659 END SUBROUTINE block_1_3_4_1
8674 SUBROUTINE block_1_3_4(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
8676 REAL(kind=
dp) :: kbd(3*md_max), kbc(3*4), kad(1*md_max), kac(1*4), pbd(3*md_max),
pbc(3*4), &
8677 pad(1*md_max), pac(1*4), prim(1*3*4*md_max), scale
8679 INTEGER :: ma, mb, mc, md, p_index
8680 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
8682 kbd(1:3*md_max) = 0.0_dp
8684 kad(1:1*md_max) = 0.0_dp
8692 p_bd = pbd((md - 1)*3 + mb)
8693 p_bc =
pbc((mc - 1)*3 + mb)
8695 p_index = p_index + 1
8696 tmp = scale*prim(p_index)
8697 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
8698 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
8699 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
8700 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
8702 kbd((md - 1)*3 + mb) = kbd((md - 1)*3 + mb) - ks_bd
8703 kbc((mc - 1)*3 + mb) = kbc((mc - 1)*3 + mb) - ks_bc
8707 END SUBROUTINE block_1_3_4
8721 SUBROUTINE block_1_3_5_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
8722 REAL(kind=
dp) :: kbd(3*1), kbc(3*5), kad(1*1), kac(1*5), &
8723 pbd(3*1),
pbc(3*5), pad(1*1), &
8724 pac(1*5), prim(1*3*5*1), scale
8726 INTEGER :: ma, mb, mc, md, p_index
8727 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
8739 p_bd = pbd((md - 1)*3 + mb)
8740 p_bc =
pbc((mc - 1)*3 + mb)
8742 p_index = p_index + 1
8743 tmp = scale*prim(p_index)
8744 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
8745 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
8746 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
8747 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
8749 kbd((md - 1)*3 + mb) = kbd((md - 1)*3 + mb) - ks_bd
8750 kbc((mc - 1)*3 + mb) = kbc((mc - 1)*3 + mb) - ks_bc
8754 END SUBROUTINE block_1_3_5_1
8769 SUBROUTINE block_1_3_5(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
8771 REAL(kind=
dp) :: kbd(3*md_max), kbc(3*5), kad(1*md_max), kac(1*5), pbd(3*md_max),
pbc(3*5), &
8772 pad(1*md_max), pac(1*5), prim(1*3*5*md_max), scale
8774 INTEGER :: ma, mb, mc, md, p_index
8775 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
8777 kbd(1:3*md_max) = 0.0_dp
8779 kad(1:1*md_max) = 0.0_dp
8787 p_bd = pbd((md - 1)*3 + mb)
8788 p_bc =
pbc((mc - 1)*3 + mb)
8790 p_index = p_index + 1
8791 tmp = scale*prim(p_index)
8792 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
8793 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
8794 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
8795 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
8797 kbd((md - 1)*3 + mb) = kbd((md - 1)*3 + mb) - ks_bd
8798 kbc((mc - 1)*3 + mb) = kbc((mc - 1)*3 + mb) - ks_bc
8802 END SUBROUTINE block_1_3_5
8816 SUBROUTINE block_1_3_6_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
8817 REAL(kind=
dp) :: kbd(3*1), kbc(3*6), kad(1*1), kac(1*6), &
8818 pbd(3*1),
pbc(3*6), pad(1*1), &
8819 pac(1*6), prim(1*3*6*1), scale
8821 INTEGER :: ma, mb, mc, md, p_index
8822 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
8834 p_bd = pbd((md - 1)*3 + mb)
8835 p_bc =
pbc((mc - 1)*3 + mb)
8837 p_index = p_index + 1
8838 tmp = scale*prim(p_index)
8839 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
8840 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
8841 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
8842 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
8844 kbd((md - 1)*3 + mb) = kbd((md - 1)*3 + mb) - ks_bd
8845 kbc((mc - 1)*3 + mb) = kbc((mc - 1)*3 + mb) - ks_bc
8849 END SUBROUTINE block_1_3_6_1
8864 SUBROUTINE block_1_3_6(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
8866 REAL(kind=
dp) :: kbd(3*md_max), kbc(3*6), kad(1*md_max), kac(1*6), pbd(3*md_max),
pbc(3*6), &
8867 pad(1*md_max), pac(1*6), prim(1*3*6*md_max), scale
8869 INTEGER :: ma, mb, mc, md, p_index
8870 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
8872 kbd(1:3*md_max) = 0.0_dp
8874 kad(1:1*md_max) = 0.0_dp
8882 p_bd = pbd((md - 1)*3 + mb)
8883 p_bc =
pbc((mc - 1)*3 + mb)
8885 p_index = p_index + 1
8886 tmp = scale*prim(p_index)
8887 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
8888 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
8889 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
8890 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
8892 kbd((md - 1)*3 + mb) = kbd((md - 1)*3 + mb) - ks_bd
8893 kbc((mc - 1)*3 + mb) = kbc((mc - 1)*3 + mb) - ks_bc
8897 END SUBROUTINE block_1_3_6
8913 SUBROUTINE block_1_3(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
8914 INTEGER :: mc_max, md_max
8915 REAL(kind=
dp) :: kbd(3*md_max), kbc(3*mc_max), kad(1*md_max), kac(1*mc_max), pbd(3*md_max), &
8916 pbc(3*mc_max), pad(1*md_max), pac(1*mc_max), prim(1*3*mc_max*md_max), scale
8918 INTEGER :: ma, mb, mc, md, p_index
8919 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
8921 kbd(1:3*md_max) = 0.0_dp
8922 kbc(1:3*mc_max) = 0.0_dp
8923 kad(1:1*md_max) = 0.0_dp
8924 kac(1:1*mc_max) = 0.0_dp
8931 p_bd = pbd((md - 1)*3 + mb)
8932 p_bc =
pbc((mc - 1)*3 + mb)
8934 p_index = p_index + 1
8935 tmp = scale*prim(p_index)
8936 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
8937 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
8938 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
8939 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
8941 kbd((md - 1)*3 + mb) = kbd((md - 1)*3 + mb) - ks_bd
8942 kbc((mc - 1)*3 + mb) = kbc((mc - 1)*3 + mb) - ks_bc
8946 END SUBROUTINE block_1_3
8960 SUBROUTINE block_1_4_1_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
8961 REAL(kind=
dp) :: kbd(4*1), kbc(4*1), kad(1*1), kac(1*1), &
8962 pbd(4*1),
pbc(4*1), pad(1*1), &
8963 pac(1*1), prim(1*4*1*1), scale
8965 INTEGER :: ma, mb, mc, md, p_index
8966 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
8978 p_bd = pbd((md - 1)*4 + mb)
8979 p_bc =
pbc((mc - 1)*4 + mb)
8981 p_index = p_index + 1
8982 tmp = scale*prim(p_index)
8983 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
8984 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
8985 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
8986 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
8988 kbd((md - 1)*4 + mb) = kbd((md - 1)*4 + mb) - ks_bd
8989 kbc((mc - 1)*4 + mb) = kbc((mc - 1)*4 + mb) - ks_bc
8993 END SUBROUTINE block_1_4_1_1
9007 SUBROUTINE block_1_4_1_2(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
9008 REAL(kind=
dp) :: kbd(4*2), kbc(4*1), kad(1*2), kac(1*1), &
9009 pbd(4*2),
pbc(4*1), pad(1*2), &
9010 pac(1*1), prim(1*4*1*2), scale
9012 INTEGER :: ma, mb, mc, md, p_index
9013 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
9025 p_bd = pbd((md - 1)*4 + mb)
9026 p_bc =
pbc((mc - 1)*4 + mb)
9028 p_index = p_index + 1
9029 tmp = scale*prim(p_index)
9030 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
9031 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
9032 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
9033 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
9035 kbd((md - 1)*4 + mb) = kbd((md - 1)*4 + mb) - ks_bd
9036 kbc((mc - 1)*4 + mb) = kbc((mc - 1)*4 + mb) - ks_bc
9040 END SUBROUTINE block_1_4_1_2
9054 SUBROUTINE block_1_4_1_3(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
9055 REAL(kind=
dp) :: kbd(4*3), kbc(4*1), kad(1*3), kac(1*1), &
9056 pbd(4*3),
pbc(4*1), pad(1*3), &
9057 pac(1*1), prim(1*4*1*3), scale
9059 INTEGER :: ma, mb, mc, md, p_index
9060 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
9072 p_bd = pbd((md - 1)*4 + mb)
9073 p_bc =
pbc((mc - 1)*4 + mb)
9075 p_index = p_index + 1
9076 tmp = scale*prim(p_index)
9077 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
9078 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
9079 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
9080 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
9082 kbd((md - 1)*4 + mb) = kbd((md - 1)*4 + mb) - ks_bd
9083 kbc((mc - 1)*4 + mb) = kbc((mc - 1)*4 + mb) - ks_bc
9087 END SUBROUTINE block_1_4_1_3
9101 SUBROUTINE block_1_4_1_4(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
9102 REAL(kind=
dp) :: kbd(4*4), kbc(4*1), kad(1*4), kac(1*1), &
9103 pbd(4*4),
pbc(4*1), pad(1*4), &
9104 pac(1*1), prim(1*4*1*4), scale
9106 INTEGER :: ma, mb, mc, md, p_index
9107 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
9119 p_bd = pbd((md - 1)*4 + mb)
9120 p_bc =
pbc((mc - 1)*4 + mb)
9122 p_index = p_index + 1
9123 tmp = scale*prim(p_index)
9124 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
9125 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
9126 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
9127 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
9129 kbd((md - 1)*4 + mb) = kbd((md - 1)*4 + mb) - ks_bd
9130 kbc((mc - 1)*4 + mb) = kbc((mc - 1)*4 + mb) - ks_bc
9134 END SUBROUTINE block_1_4_1_4
9149 SUBROUTINE block_1_4_1(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
9151 REAL(kind=
dp) :: kbd(4*md_max), kbc(4*1), kad(1*md_max), kac(1*1), pbd(4*md_max),
pbc(4*1), &
9152 pad(1*md_max), pac(1*1), prim(1*4*1*md_max), scale
9154 INTEGER :: ma, mb, mc, md, p_index
9155 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
9157 kbd(1:4*md_max) = 0.0_dp
9159 kad(1:1*md_max) = 0.0_dp
9167 p_bd = pbd((md - 1)*4 + mb)
9168 p_bc =
pbc((mc - 1)*4 + mb)
9170 p_index = p_index + 1
9171 tmp = scale*prim(p_index)
9172 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
9173 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
9174 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
9175 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
9177 kbd((md - 1)*4 + mb) = kbd((md - 1)*4 + mb) - ks_bd
9178 kbc((mc - 1)*4 + mb) = kbc((mc - 1)*4 + mb) - ks_bc
9182 END SUBROUTINE block_1_4_1
9196 SUBROUTINE block_1_4_2_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
9197 REAL(kind=
dp) :: kbd(4*1), kbc(4*2), kad(1*1), kac(1*2), &
9198 pbd(4*1),
pbc(4*2), pad(1*1), &
9199 pac(1*2), prim(1*4*2*1), scale
9201 INTEGER :: ma, mb, mc, md, p_index
9202 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
9214 p_bd = pbd((md - 1)*4 + mb)
9215 p_bc =
pbc((mc - 1)*4 + mb)
9217 p_index = p_index + 1
9218 tmp = scale*prim(p_index)
9219 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
9220 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
9221 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
9222 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
9224 kbd((md - 1)*4 + mb) = kbd((md - 1)*4 + mb) - ks_bd
9225 kbc((mc - 1)*4 + mb) = kbc((mc - 1)*4 + mb) - ks_bc
9229 END SUBROUTINE block_1_4_2_1
9243 SUBROUTINE block_1_4_2_2(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
9244 REAL(kind=
dp) :: kbd(4*2), kbc(4*2), kad(1*2), kac(1*2), &
9245 pbd(4*2),
pbc(4*2), pad(1*2), &
9246 pac(1*2), prim(1*4*2*2), scale
9248 INTEGER :: ma, mb, mc, md, p_index
9249 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
9261 p_bd = pbd((md - 1)*4 + mb)
9262 p_bc =
pbc((mc - 1)*4 + mb)
9264 p_index = p_index + 1
9265 tmp = scale*prim(p_index)
9266 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
9267 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
9268 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
9269 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
9271 kbd((md - 1)*4 + mb) = kbd((md - 1)*4 + mb) - ks_bd
9272 kbc((mc - 1)*4 + mb) = kbc((mc - 1)*4 + mb) - ks_bc
9276 END SUBROUTINE block_1_4_2_2
9291 SUBROUTINE block_1_4_2(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
9293 REAL(kind=
dp) :: kbd(4*md_max), kbc(4*2), kad(1*md_max), kac(1*2), pbd(4*md_max),
pbc(4*2), &
9294 pad(1*md_max), pac(1*2), prim(1*4*2*md_max), scale
9296 INTEGER :: ma, mb, mc, md, p_index
9297 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
9299 kbd(1:4*md_max) = 0.0_dp
9301 kad(1:1*md_max) = 0.0_dp
9309 p_bd = pbd((md - 1)*4 + mb)
9310 p_bc =
pbc((mc - 1)*4 + mb)
9312 p_index = p_index + 1
9313 tmp = scale*prim(p_index)
9314 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
9315 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
9316 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
9317 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
9319 kbd((md - 1)*4 + mb) = kbd((md - 1)*4 + mb) - ks_bd
9320 kbc((mc - 1)*4 + mb) = kbc((mc - 1)*4 + mb) - ks_bc
9324 END SUBROUTINE block_1_4_2
9338 SUBROUTINE block_1_4_3_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
9339 REAL(kind=
dp) :: kbd(4*1), kbc(4*3), kad(1*1), kac(1*3), &
9340 pbd(4*1),
pbc(4*3), pad(1*1), &
9341 pac(1*3), prim(1*4*3*1), scale
9343 INTEGER :: ma, mb, mc, md, p_index
9344 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
9356 p_bd = pbd((md - 1)*4 + mb)
9357 p_bc =
pbc((mc - 1)*4 + mb)
9359 p_index = p_index + 1
9360 tmp = scale*prim(p_index)
9361 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
9362 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
9363 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
9364 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
9366 kbd((md - 1)*4 + mb) = kbd((md - 1)*4 + mb) - ks_bd
9367 kbc((mc - 1)*4 + mb) = kbc((mc - 1)*4 + mb) - ks_bc
9371 END SUBROUTINE block_1_4_3_1
9386 SUBROUTINE block_1_4_3(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
9388 REAL(kind=
dp) :: kbd(4*md_max), kbc(4*3), kad(1*md_max), kac(1*3), pbd(4*md_max),
pbc(4*3), &
9389 pad(1*md_max), pac(1*3), prim(1*4*3*md_max), scale
9391 INTEGER :: ma, mb, mc, md, p_index
9392 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
9394 kbd(1:4*md_max) = 0.0_dp
9396 kad(1:1*md_max) = 0.0_dp
9404 p_bd = pbd((md - 1)*4 + mb)
9405 p_bc =
pbc((mc - 1)*4 + mb)
9407 p_index = p_index + 1
9408 tmp = scale*prim(p_index)
9409 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
9410 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
9411 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
9412 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
9414 kbd((md - 1)*4 + mb) = kbd((md - 1)*4 + mb) - ks_bd
9415 kbc((mc - 1)*4 + mb) = kbc((mc - 1)*4 + mb) - ks_bc
9419 END SUBROUTINE block_1_4_3
9433 SUBROUTINE block_1_4_4_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
9434 REAL(kind=
dp) :: kbd(4*1), kbc(4*4), kad(1*1), kac(1*4), &
9435 pbd(4*1),
pbc(4*4), pad(1*1), &
9436 pac(1*4), prim(1*4*4*1), scale
9438 INTEGER :: ma, mb, mc, md, p_index
9439 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
9451 p_bd = pbd((md - 1)*4 + mb)
9452 p_bc =
pbc((mc - 1)*4 + mb)
9454 p_index = p_index + 1
9455 tmp = scale*prim(p_index)
9456 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
9457 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
9458 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
9459 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
9461 kbd((md - 1)*4 + mb) = kbd((md - 1)*4 + mb) - ks_bd
9462 kbc((mc - 1)*4 + mb) = kbc((mc - 1)*4 + mb) - ks_bc
9466 END SUBROUTINE block_1_4_4_1
9481 SUBROUTINE block_1_4_4(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
9483 REAL(kind=
dp) :: kbd(4*md_max), kbc(4*4), kad(1*md_max), kac(1*4), pbd(4*md_max),
pbc(4*4), &
9484 pad(1*md_max), pac(1*4), prim(1*4*4*md_max), scale
9486 INTEGER :: ma, mb, mc, md, p_index
9487 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
9489 kbd(1:4*md_max) = 0.0_dp
9491 kad(1:1*md_max) = 0.0_dp
9499 p_bd = pbd((md - 1)*4 + mb)
9500 p_bc =
pbc((mc - 1)*4 + mb)
9502 p_index = p_index + 1
9503 tmp = scale*prim(p_index)
9504 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
9505 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
9506 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
9507 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
9509 kbd((md - 1)*4 + mb) = kbd((md - 1)*4 + mb) - ks_bd
9510 kbc((mc - 1)*4 + mb) = kbc((mc - 1)*4 + mb) - ks_bc
9514 END SUBROUTINE block_1_4_4
9530 SUBROUTINE block_1_4(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
9531 INTEGER :: mc_max, md_max
9532 REAL(kind=
dp) :: kbd(4*md_max), kbc(4*mc_max), kad(1*md_max), kac(1*mc_max), pbd(4*md_max), &
9533 pbc(4*mc_max), pad(1*md_max), pac(1*mc_max), prim(1*4*mc_max*md_max), scale
9535 INTEGER :: ma, mb, mc, md, p_index
9536 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
9538 kbd(1:4*md_max) = 0.0_dp
9539 kbc(1:4*mc_max) = 0.0_dp
9540 kad(1:1*md_max) = 0.0_dp
9541 kac(1:1*mc_max) = 0.0_dp
9548 p_bd = pbd((md - 1)*4 + mb)
9549 p_bc =
pbc((mc - 1)*4 + mb)
9551 p_index = p_index + 1
9552 tmp = scale*prim(p_index)
9553 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
9554 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
9555 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
9556 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
9558 kbd((md - 1)*4 + mb) = kbd((md - 1)*4 + mb) - ks_bd
9559 kbc((mc - 1)*4 + mb) = kbc((mc - 1)*4 + mb) - ks_bc
9563 END SUBROUTINE block_1_4
9577 SUBROUTINE block_1_5_1_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
9578 REAL(kind=
dp) :: kbd(5*1), kbc(5*1), kad(1*1), kac(1*1), &
9579 pbd(5*1),
pbc(5*1), pad(1*1), &
9580 pac(1*1), prim(1*5*1*1), scale
9582 INTEGER :: ma, mb, mc, md, p_index
9583 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
9595 p_bd = pbd((md - 1)*5 + mb)
9596 p_bc =
pbc((mc - 1)*5 + mb)
9598 p_index = p_index + 1
9599 tmp = scale*prim(p_index)
9600 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
9601 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
9602 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
9603 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
9605 kbd((md - 1)*5 + mb) = kbd((md - 1)*5 + mb) - ks_bd
9606 kbc((mc - 1)*5 + mb) = kbc((mc - 1)*5 + mb) - ks_bc
9610 END SUBROUTINE block_1_5_1_1
9624 SUBROUTINE block_1_5_1_2(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
9625 REAL(kind=
dp) :: kbd(5*2), kbc(5*1), kad(1*2), kac(1*1), &
9626 pbd(5*2),
pbc(5*1), pad(1*2), &
9627 pac(1*1), prim(1*5*1*2), scale
9629 INTEGER :: ma, mb, mc, md, p_index
9630 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
9642 p_bd = pbd((md - 1)*5 + mb)
9643 p_bc =
pbc((mc - 1)*5 + mb)
9645 p_index = p_index + 1
9646 tmp = scale*prim(p_index)
9647 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
9648 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
9649 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
9650 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
9652 kbd((md - 1)*5 + mb) = kbd((md - 1)*5 + mb) - ks_bd
9653 kbc((mc - 1)*5 + mb) = kbc((mc - 1)*5 + mb) - ks_bc
9657 END SUBROUTINE block_1_5_1_2
9671 SUBROUTINE block_1_5_1_3(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
9672 REAL(kind=
dp) :: kbd(5*3), kbc(5*1), kad(1*3), kac(1*1), &
9673 pbd(5*3),
pbc(5*1), pad(1*3), &
9674 pac(1*1), prim(1*5*1*3), scale
9676 INTEGER :: ma, mb, mc, md, p_index
9677 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
9689 p_bd = pbd((md - 1)*5 + mb)
9690 p_bc =
pbc((mc - 1)*5 + mb)
9692 p_index = p_index + 1
9693 tmp = scale*prim(p_index)
9694 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
9695 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
9696 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
9697 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
9699 kbd((md - 1)*5 + mb) = kbd((md - 1)*5 + mb) - ks_bd
9700 kbc((mc - 1)*5 + mb) = kbc((mc - 1)*5 + mb) - ks_bc
9704 END SUBROUTINE block_1_5_1_3
9719 SUBROUTINE block_1_5_1(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
9721 REAL(kind=
dp) :: kbd(5*md_max), kbc(5*1), kad(1*md_max), kac(1*1), pbd(5*md_max),
pbc(5*1), &
9722 pad(1*md_max), pac(1*1), prim(1*5*1*md_max), scale
9724 INTEGER :: ma, mb, mc, md, p_index
9725 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
9727 kbd(1:5*md_max) = 0.0_dp
9729 kad(1:1*md_max) = 0.0_dp
9737 p_bd = pbd((md - 1)*5 + mb)
9738 p_bc =
pbc((mc - 1)*5 + mb)
9740 p_index = p_index + 1
9741 tmp = scale*prim(p_index)
9742 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
9743 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
9744 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
9745 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
9747 kbd((md - 1)*5 + mb) = kbd((md - 1)*5 + mb) - ks_bd
9748 kbc((mc - 1)*5 + mb) = kbc((mc - 1)*5 + mb) - ks_bc
9752 END SUBROUTINE block_1_5_1
9766 SUBROUTINE block_1_5_2_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
9767 REAL(kind=
dp) :: kbd(5*1), kbc(5*2), kad(1*1), kac(1*2), &
9768 pbd(5*1),
pbc(5*2), pad(1*1), &
9769 pac(1*2), prim(1*5*2*1), scale
9771 INTEGER :: ma, mb, mc, md, p_index
9772 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
9784 p_bd = pbd((md - 1)*5 + mb)
9785 p_bc =
pbc((mc - 1)*5 + mb)
9787 p_index = p_index + 1
9788 tmp = scale*prim(p_index)
9789 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
9790 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
9791 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
9792 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
9794 kbd((md - 1)*5 + mb) = kbd((md - 1)*5 + mb) - ks_bd
9795 kbc((mc - 1)*5 + mb) = kbc((mc - 1)*5 + mb) - ks_bc
9799 END SUBROUTINE block_1_5_2_1
9814 SUBROUTINE block_1_5_2(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
9816 REAL(kind=
dp) :: kbd(5*md_max), kbc(5*2), kad(1*md_max), kac(1*2), pbd(5*md_max),
pbc(5*2), &
9817 pad(1*md_max), pac(1*2), prim(1*5*2*md_max), scale
9819 INTEGER :: ma, mb, mc, md, p_index
9820 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
9822 kbd(1:5*md_max) = 0.0_dp
9824 kad(1:1*md_max) = 0.0_dp
9832 p_bd = pbd((md - 1)*5 + mb)
9833 p_bc =
pbc((mc - 1)*5 + mb)
9835 p_index = p_index + 1
9836 tmp = scale*prim(p_index)
9837 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
9838 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
9839 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
9840 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
9842 kbd((md - 1)*5 + mb) = kbd((md - 1)*5 + mb) - ks_bd
9843 kbc((mc - 1)*5 + mb) = kbc((mc - 1)*5 + mb) - ks_bc
9847 END SUBROUTINE block_1_5_2
9861 SUBROUTINE block_1_5_3_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
9862 REAL(kind=
dp) :: kbd(5*1), kbc(5*3), kad(1*1), kac(1*3), &
9863 pbd(5*1),
pbc(5*3), pad(1*1), &
9864 pac(1*3), prim(1*5*3*1), scale
9866 INTEGER :: ma, mb, mc, md, p_index
9867 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
9879 p_bd = pbd((md - 1)*5 + mb)
9880 p_bc =
pbc((mc - 1)*5 + mb)
9882 p_index = p_index + 1
9883 tmp = scale*prim(p_index)
9884 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
9885 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
9886 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
9887 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
9889 kbd((md - 1)*5 + mb) = kbd((md - 1)*5 + mb) - ks_bd
9890 kbc((mc - 1)*5 + mb) = kbc((mc - 1)*5 + mb) - ks_bc
9894 END SUBROUTINE block_1_5_3_1
9909 SUBROUTINE block_1_5_3(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
9911 REAL(kind=
dp) :: kbd(5*md_max), kbc(5*3), kad(1*md_max), kac(1*3), pbd(5*md_max),
pbc(5*3), &
9912 pad(1*md_max), pac(1*3), prim(1*5*3*md_max), scale
9914 INTEGER :: ma, mb, mc, md, p_index
9915 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
9917 kbd(1:5*md_max) = 0.0_dp
9919 kad(1:1*md_max) = 0.0_dp
9927 p_bd = pbd((md - 1)*5 + mb)
9928 p_bc =
pbc((mc - 1)*5 + mb)
9930 p_index = p_index + 1
9931 tmp = scale*prim(p_index)
9932 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
9933 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
9934 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
9935 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
9937 kbd((md - 1)*5 + mb) = kbd((md - 1)*5 + mb) - ks_bd
9938 kbc((mc - 1)*5 + mb) = kbc((mc - 1)*5 + mb) - ks_bc
9942 END SUBROUTINE block_1_5_3
9958 SUBROUTINE block_1_5(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
9959 INTEGER :: mc_max, md_max
9960 REAL(kind=
dp) :: kbd(5*md_max), kbc(5*mc_max), kad(1*md_max), kac(1*mc_max), pbd(5*md_max), &
9961 pbc(5*mc_max), pad(1*md_max), pac(1*mc_max), prim(1*5*mc_max*md_max), scale
9963 INTEGER :: ma, mb, mc, md, p_index
9964 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
9966 kbd(1:5*md_max) = 0.0_dp
9967 kbc(1:5*mc_max) = 0.0_dp
9968 kad(1:1*md_max) = 0.0_dp
9969 kac(1:1*mc_max) = 0.0_dp
9976 p_bd = pbd((md - 1)*5 + mb)
9977 p_bc =
pbc((mc - 1)*5 + mb)
9979 p_index = p_index + 1
9980 tmp = scale*prim(p_index)
9981 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
9982 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
9983 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
9984 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
9986 kbd((md - 1)*5 + mb) = kbd((md - 1)*5 + mb) - ks_bd
9987 kbc((mc - 1)*5 + mb) = kbc((mc - 1)*5 + mb) - ks_bc
9991 END SUBROUTINE block_1_5
10005 SUBROUTINE block_1_6_1_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
10006 REAL(kind=
dp) :: kbd(6*1), kbc(6*1), kad(1*1), kac(1*1), &
10007 pbd(6*1),
pbc(6*1), pad(1*1), &
10008 pac(1*1), prim(1*6*1*1), scale
10010 INTEGER :: ma, mb, mc, md, p_index
10011 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
10013 kbd(1:6*1) = 0.0_dp
10014 kbc(1:6*1) = 0.0_dp
10015 kad(1:1*1) = 0.0_dp
10016 kac(1:1*1) = 0.0_dp
10023 p_bd = pbd((md - 1)*6 + mb)
10024 p_bc =
pbc((mc - 1)*6 + mb)
10026 p_index = p_index + 1
10027 tmp = scale*prim(p_index)
10028 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
10029 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
10030 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
10031 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
10033 kbd((md - 1)*6 + mb) = kbd((md - 1)*6 + mb) - ks_bd
10034 kbc((mc - 1)*6 + mb) = kbc((mc - 1)*6 + mb) - ks_bc
10038 END SUBROUTINE block_1_6_1_1
10052 SUBROUTINE block_1_6_1_2(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
10053 REAL(kind=
dp) :: kbd(6*2), kbc(6*1), kad(1*2), kac(1*1), &
10054 pbd(6*2),
pbc(6*1), pad(1*2), &
10055 pac(1*1), prim(1*6*1*2), scale
10057 INTEGER :: ma, mb, mc, md, p_index
10058 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
10060 kbd(1:6*2) = 0.0_dp
10061 kbc(1:6*1) = 0.0_dp
10062 kad(1:1*2) = 0.0_dp
10063 kac(1:1*1) = 0.0_dp
10070 p_bd = pbd((md - 1)*6 + mb)
10071 p_bc =
pbc((mc - 1)*6 + mb)
10073 p_index = p_index + 1
10074 tmp = scale*prim(p_index)
10075 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
10076 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
10077 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
10078 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
10080 kbd((md - 1)*6 + mb) = kbd((md - 1)*6 + mb) - ks_bd
10081 kbc((mc - 1)*6 + mb) = kbc((mc - 1)*6 + mb) - ks_bc
10085 END SUBROUTINE block_1_6_1_2
10099 SUBROUTINE block_1_6_1_3(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
10100 REAL(kind=
dp) :: kbd(6*3), kbc(6*1), kad(1*3), kac(1*1), &
10101 pbd(6*3),
pbc(6*1), pad(1*3), &
10102 pac(1*1), prim(1*6*1*3), scale
10104 INTEGER :: ma, mb, mc, md, p_index
10105 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
10107 kbd(1:6*3) = 0.0_dp
10108 kbc(1:6*1) = 0.0_dp
10109 kad(1:1*3) = 0.0_dp
10110 kac(1:1*1) = 0.0_dp
10117 p_bd = pbd((md - 1)*6 + mb)
10118 p_bc =
pbc((mc - 1)*6 + mb)
10120 p_index = p_index + 1
10121 tmp = scale*prim(p_index)
10122 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
10123 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
10124 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
10125 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
10127 kbd((md - 1)*6 + mb) = kbd((md - 1)*6 + mb) - ks_bd
10128 kbc((mc - 1)*6 + mb) = kbc((mc - 1)*6 + mb) - ks_bc
10132 END SUBROUTINE block_1_6_1_3
10147 SUBROUTINE block_1_6_1(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
10149 REAL(kind=
dp) :: kbd(6*md_max), kbc(6*1), kad(1*md_max), kac(1*1), pbd(6*md_max),
pbc(6*1), &
10150 pad(1*md_max), pac(1*1), prim(1*6*1*md_max), scale
10152 INTEGER :: ma, mb, mc, md, p_index
10153 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
10155 kbd(1:6*md_max) = 0.0_dp
10156 kbc(1:6*1) = 0.0_dp
10157 kad(1:1*md_max) = 0.0_dp
10158 kac(1:1*1) = 0.0_dp
10165 p_bd = pbd((md - 1)*6 + mb)
10166 p_bc =
pbc((mc - 1)*6 + mb)
10168 p_index = p_index + 1
10169 tmp = scale*prim(p_index)
10170 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
10171 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
10172 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
10173 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
10175 kbd((md - 1)*6 + mb) = kbd((md - 1)*6 + mb) - ks_bd
10176 kbc((mc - 1)*6 + mb) = kbc((mc - 1)*6 + mb) - ks_bc
10180 END SUBROUTINE block_1_6_1
10194 SUBROUTINE block_1_6_2_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
10195 REAL(kind=
dp) :: kbd(6*1), kbc(6*2), kad(1*1), kac(1*2), &
10196 pbd(6*1),
pbc(6*2), pad(1*1), &
10197 pac(1*2), prim(1*6*2*1), scale
10199 INTEGER :: ma, mb, mc, md, p_index
10200 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
10202 kbd(1:6*1) = 0.0_dp
10203 kbc(1:6*2) = 0.0_dp
10204 kad(1:1*1) = 0.0_dp
10205 kac(1:1*2) = 0.0_dp
10212 p_bd = pbd((md - 1)*6 + mb)
10213 p_bc =
pbc((mc - 1)*6 + mb)
10215 p_index = p_index + 1
10216 tmp = scale*prim(p_index)
10217 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
10218 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
10219 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
10220 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
10222 kbd((md - 1)*6 + mb) = kbd((md - 1)*6 + mb) - ks_bd
10223 kbc((mc - 1)*6 + mb) = kbc((mc - 1)*6 + mb) - ks_bc
10227 END SUBROUTINE block_1_6_2_1
10242 SUBROUTINE block_1_6_2(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
10244 REAL(kind=
dp) :: kbd(6*md_max), kbc(6*2), kad(1*md_max), kac(1*2), pbd(6*md_max),
pbc(6*2), &
10245 pad(1*md_max), pac(1*2), prim(1*6*2*md_max), scale
10247 INTEGER :: ma, mb, mc, md, p_index
10248 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
10250 kbd(1:6*md_max) = 0.0_dp
10251 kbc(1:6*2) = 0.0_dp
10252 kad(1:1*md_max) = 0.0_dp
10253 kac(1:1*2) = 0.0_dp
10260 p_bd = pbd((md - 1)*6 + mb)
10261 p_bc =
pbc((mc - 1)*6 + mb)
10263 p_index = p_index + 1
10264 tmp = scale*prim(p_index)
10265 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
10266 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
10267 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
10268 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
10270 kbd((md - 1)*6 + mb) = kbd((md - 1)*6 + mb) - ks_bd
10271 kbc((mc - 1)*6 + mb) = kbc((mc - 1)*6 + mb) - ks_bc
10275 END SUBROUTINE block_1_6_2
10289 SUBROUTINE block_1_6_3_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
10290 REAL(kind=
dp) :: kbd(6*1), kbc(6*3), kad(1*1), kac(1*3), &
10291 pbd(6*1),
pbc(6*3), pad(1*1), &
10292 pac(1*3), prim(1*6*3*1), scale
10294 INTEGER :: ma, mb, mc, md, p_index
10295 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
10297 kbd(1:6*1) = 0.0_dp
10298 kbc(1:6*3) = 0.0_dp
10299 kad(1:1*1) = 0.0_dp
10300 kac(1:1*3) = 0.0_dp
10307 p_bd = pbd((md - 1)*6 + mb)
10308 p_bc =
pbc((mc - 1)*6 + mb)
10310 p_index = p_index + 1
10311 tmp = scale*prim(p_index)
10312 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
10313 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
10314 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
10315 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
10317 kbd((md - 1)*6 + mb) = kbd((md - 1)*6 + mb) - ks_bd
10318 kbc((mc - 1)*6 + mb) = kbc((mc - 1)*6 + mb) - ks_bc
10322 END SUBROUTINE block_1_6_3_1
10337 SUBROUTINE block_1_6_3(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
10339 REAL(kind=
dp) :: kbd(6*md_max), kbc(6*3), kad(1*md_max), kac(1*3), pbd(6*md_max),
pbc(6*3), &
10340 pad(1*md_max), pac(1*3), prim(1*6*3*md_max), scale
10342 INTEGER :: ma, mb, mc, md, p_index
10343 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
10345 kbd(1:6*md_max) = 0.0_dp
10346 kbc(1:6*3) = 0.0_dp
10347 kad(1:1*md_max) = 0.0_dp
10348 kac(1:1*3) = 0.0_dp
10355 p_bd = pbd((md - 1)*6 + mb)
10356 p_bc =
pbc((mc - 1)*6 + mb)
10358 p_index = p_index + 1
10359 tmp = scale*prim(p_index)
10360 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
10361 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
10362 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
10363 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
10365 kbd((md - 1)*6 + mb) = kbd((md - 1)*6 + mb) - ks_bd
10366 kbc((mc - 1)*6 + mb) = kbc((mc - 1)*6 + mb) - ks_bc
10370 END SUBROUTINE block_1_6_3
10386 SUBROUTINE block_1_6(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
10387 INTEGER :: mc_max, md_max
10388 REAL(kind=
dp) :: kbd(6*md_max), kbc(6*mc_max), kad(1*md_max), kac(1*mc_max), pbd(6*md_max), &
10389 pbc(6*mc_max), pad(1*md_max), pac(1*mc_max), prim(1*6*mc_max*md_max), scale
10391 INTEGER :: ma, mb, mc, md, p_index
10392 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
10394 kbd(1:6*md_max) = 0.0_dp
10395 kbc(1:6*mc_max) = 0.0_dp
10396 kad(1:1*md_max) = 0.0_dp
10397 kac(1:1*mc_max) = 0.0_dp
10404 p_bd = pbd((md - 1)*6 + mb)
10405 p_bc =
pbc((mc - 1)*6 + mb)
10407 p_index = p_index + 1
10408 tmp = scale*prim(p_index)
10409 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
10410 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
10411 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
10412 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
10414 kbd((md - 1)*6 + mb) = kbd((md - 1)*6 + mb) - ks_bd
10415 kbc((mc - 1)*6 + mb) = kbc((mc - 1)*6 + mb) - ks_bc
10419 END SUBROUTINE block_1_6
10433 SUBROUTINE block_1_7_1_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
10434 REAL(kind=
dp) :: kbd(7*1), kbc(7*1), kad(1*1), kac(1*1), &
10435 pbd(7*1),
pbc(7*1), pad(1*1), &
10436 pac(1*1), prim(1*7*1*1), scale
10438 INTEGER :: ma, mb, mc, md, p_index
10439 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
10441 kbd(1:7*1) = 0.0_dp
10442 kbc(1:7*1) = 0.0_dp
10443 kad(1:1*1) = 0.0_dp
10444 kac(1:1*1) = 0.0_dp
10451 p_bd = pbd((md - 1)*7 + mb)
10452 p_bc =
pbc((mc - 1)*7 + mb)
10454 p_index = p_index + 1
10455 tmp = scale*prim(p_index)
10456 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
10457 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
10458 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
10459 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
10461 kbd((md - 1)*7 + mb) = kbd((md - 1)*7 + mb) - ks_bd
10462 kbc((mc - 1)*7 + mb) = kbc((mc - 1)*7 + mb) - ks_bc
10466 END SUBROUTINE block_1_7_1_1
10480 SUBROUTINE block_1_7_1_2(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
10481 REAL(kind=
dp) :: kbd(7*2), kbc(7*1), kad(1*2), kac(1*1), &
10482 pbd(7*2),
pbc(7*1), pad(1*2), &
10483 pac(1*1), prim(1*7*1*2), scale
10485 INTEGER :: ma, mb, mc, md, p_index
10486 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
10488 kbd(1:7*2) = 0.0_dp
10489 kbc(1:7*1) = 0.0_dp
10490 kad(1:1*2) = 0.0_dp
10491 kac(1:1*1) = 0.0_dp
10498 p_bd = pbd((md - 1)*7 + mb)
10499 p_bc =
pbc((mc - 1)*7 + mb)
10501 p_index = p_index + 1
10502 tmp = scale*prim(p_index)
10503 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
10504 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
10505 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
10506 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
10508 kbd((md - 1)*7 + mb) = kbd((md - 1)*7 + mb) - ks_bd
10509 kbc((mc - 1)*7 + mb) = kbc((mc - 1)*7 + mb) - ks_bc
10513 END SUBROUTINE block_1_7_1_2
10528 SUBROUTINE block_1_7_1(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
10530 REAL(kind=
dp) :: kbd(7*md_max), kbc(7*1), kad(1*md_max), kac(1*1), pbd(7*md_max),
pbc(7*1), &
10531 pad(1*md_max), pac(1*1), prim(1*7*1*md_max), scale
10533 INTEGER :: ma, mb, mc, md, p_index
10534 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
10536 kbd(1:7*md_max) = 0.0_dp
10537 kbc(1:7*1) = 0.0_dp
10538 kad(1:1*md_max) = 0.0_dp
10539 kac(1:1*1) = 0.0_dp
10546 p_bd = pbd((md - 1)*7 + mb)
10547 p_bc =
pbc((mc - 1)*7 + mb)
10549 p_index = p_index + 1
10550 tmp = scale*prim(p_index)
10551 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
10552 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
10553 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
10554 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
10556 kbd((md - 1)*7 + mb) = kbd((md - 1)*7 + mb) - ks_bd
10557 kbc((mc - 1)*7 + mb) = kbc((mc - 1)*7 + mb) - ks_bc
10561 END SUBROUTINE block_1_7_1
10575 SUBROUTINE block_1_7_2_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
10576 REAL(kind=
dp) :: kbd(7*1), kbc(7*2), kad(1*1), kac(1*2), &
10577 pbd(7*1),
pbc(7*2), pad(1*1), &
10578 pac(1*2), prim(1*7*2*1), scale
10580 INTEGER :: ma, mb, mc, md, p_index
10581 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
10583 kbd(1:7*1) = 0.0_dp
10584 kbc(1:7*2) = 0.0_dp
10585 kad(1:1*1) = 0.0_dp
10586 kac(1:1*2) = 0.0_dp
10593 p_bd = pbd((md - 1)*7 + mb)
10594 p_bc =
pbc((mc - 1)*7 + mb)
10596 p_index = p_index + 1
10597 tmp = scale*prim(p_index)
10598 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
10599 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
10600 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
10601 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
10603 kbd((md - 1)*7 + mb) = kbd((md - 1)*7 + mb) - ks_bd
10604 kbc((mc - 1)*7 + mb) = kbc((mc - 1)*7 + mb) - ks_bc
10608 END SUBROUTINE block_1_7_2_1
10623 SUBROUTINE block_1_7_2(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
10625 REAL(kind=
dp) :: kbd(7*md_max), kbc(7*2), kad(1*md_max), kac(1*2), pbd(7*md_max),
pbc(7*2), &
10626 pad(1*md_max), pac(1*2), prim(1*7*2*md_max), scale
10628 INTEGER :: ma, mb, mc, md, p_index
10629 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
10631 kbd(1:7*md_max) = 0.0_dp
10632 kbc(1:7*2) = 0.0_dp
10633 kad(1:1*md_max) = 0.0_dp
10634 kac(1:1*2) = 0.0_dp
10641 p_bd = pbd((md - 1)*7 + mb)
10642 p_bc =
pbc((mc - 1)*7 + mb)
10644 p_index = p_index + 1
10645 tmp = scale*prim(p_index)
10646 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
10647 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
10648 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
10649 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
10651 kbd((md - 1)*7 + mb) = kbd((md - 1)*7 + mb) - ks_bd
10652 kbc((mc - 1)*7 + mb) = kbc((mc - 1)*7 + mb) - ks_bc
10656 END SUBROUTINE block_1_7_2
10672 SUBROUTINE block_1_7(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
10673 INTEGER :: mc_max, md_max
10674 REAL(kind=
dp) :: kbd(7*md_max), kbc(7*mc_max), kad(1*md_max), kac(1*mc_max), pbd(7*md_max), &
10675 pbc(7*mc_max), pad(1*md_max), pac(1*mc_max), prim(1*7*mc_max*md_max), scale
10677 INTEGER :: ma, mb, mc, md, p_index
10678 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
10680 kbd(1:7*md_max) = 0.0_dp
10681 kbc(1:7*mc_max) = 0.0_dp
10682 kad(1:1*md_max) = 0.0_dp
10683 kac(1:1*mc_max) = 0.0_dp
10690 p_bd = pbd((md - 1)*7 + mb)
10691 p_bc =
pbc((mc - 1)*7 + mb)
10693 p_index = p_index + 1
10694 tmp = scale*prim(p_index)
10695 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
10696 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
10697 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
10698 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
10700 kbd((md - 1)*7 + mb) = kbd((md - 1)*7 + mb) - ks_bd
10701 kbc((mc - 1)*7 + mb) = kbc((mc - 1)*7 + mb) - ks_bc
10705 END SUBROUTINE block_1_7
10719 SUBROUTINE block_1_9_1_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
10720 REAL(kind=
dp) :: kbd(9*1), kbc(9*1), kad(1*1), kac(1*1), &
10721 pbd(9*1),
pbc(9*1), pad(1*1), &
10722 pac(1*1), prim(1*9*1*1), scale
10724 INTEGER :: ma, mb, mc, md, p_index
10725 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
10727 kbd(1:9*1) = 0.0_dp
10728 kbc(1:9*1) = 0.0_dp
10729 kad(1:1*1) = 0.0_dp
10730 kac(1:1*1) = 0.0_dp
10737 p_bd = pbd((md - 1)*9 + mb)
10738 p_bc =
pbc((mc - 1)*9 + mb)
10740 p_index = p_index + 1
10741 tmp = scale*prim(p_index)
10742 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
10743 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
10744 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
10745 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
10747 kbd((md - 1)*9 + mb) = kbd((md - 1)*9 + mb) - ks_bd
10748 kbc((mc - 1)*9 + mb) = kbc((mc - 1)*9 + mb) - ks_bc
10752 END SUBROUTINE block_1_9_1_1
10766 SUBROUTINE block_1_9_1_2(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
10767 REAL(kind=
dp) :: kbd(9*2), kbc(9*1), kad(1*2), kac(1*1), &
10768 pbd(9*2),
pbc(9*1), pad(1*2), &
10769 pac(1*1), prim(1*9*1*2), scale
10771 INTEGER :: ma, mb, mc, md, p_index
10772 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
10774 kbd(1:9*2) = 0.0_dp
10775 kbc(1:9*1) = 0.0_dp
10776 kad(1:1*2) = 0.0_dp
10777 kac(1:1*1) = 0.0_dp
10784 p_bd = pbd((md - 1)*9 + mb)
10785 p_bc =
pbc((mc - 1)*9 + mb)
10787 p_index = p_index + 1
10788 tmp = scale*prim(p_index)
10789 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
10790 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
10791 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
10792 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
10794 kbd((md - 1)*9 + mb) = kbd((md - 1)*9 + mb) - ks_bd
10795 kbc((mc - 1)*9 + mb) = kbc((mc - 1)*9 + mb) - ks_bc
10799 END SUBROUTINE block_1_9_1_2
10814 SUBROUTINE block_1_9_1(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
10816 REAL(kind=
dp) :: kbd(9*md_max), kbc(9*1), kad(1*md_max), kac(1*1), pbd(9*md_max),
pbc(9*1), &
10817 pad(1*md_max), pac(1*1), prim(1*9*1*md_max), scale
10819 INTEGER :: ma, mb, mc, md, p_index
10820 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
10822 kbd(1:9*md_max) = 0.0_dp
10823 kbc(1:9*1) = 0.0_dp
10824 kad(1:1*md_max) = 0.0_dp
10825 kac(1:1*1) = 0.0_dp
10832 p_bd = pbd((md - 1)*9 + mb)
10833 p_bc =
pbc((mc - 1)*9 + mb)
10835 p_index = p_index + 1
10836 tmp = scale*prim(p_index)
10837 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
10838 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
10839 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
10840 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
10842 kbd((md - 1)*9 + mb) = kbd((md - 1)*9 + mb) - ks_bd
10843 kbc((mc - 1)*9 + mb) = kbc((mc - 1)*9 + mb) - ks_bc
10847 END SUBROUTINE block_1_9_1
10861 SUBROUTINE block_1_9_2_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
10862 REAL(kind=
dp) :: kbd(9*1), kbc(9*2), kad(1*1), kac(1*2), &
10863 pbd(9*1),
pbc(9*2), pad(1*1), &
10864 pac(1*2), prim(1*9*2*1), scale
10866 INTEGER :: ma, mb, mc, md, p_index
10867 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
10869 kbd(1:9*1) = 0.0_dp
10870 kbc(1:9*2) = 0.0_dp
10871 kad(1:1*1) = 0.0_dp
10872 kac(1:1*2) = 0.0_dp
10879 p_bd = pbd((md - 1)*9 + mb)
10880 p_bc =
pbc((mc - 1)*9 + mb)
10882 p_index = p_index + 1
10883 tmp = scale*prim(p_index)
10884 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
10885 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
10886 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
10887 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
10889 kbd((md - 1)*9 + mb) = kbd((md - 1)*9 + mb) - ks_bd
10890 kbc((mc - 1)*9 + mb) = kbc((mc - 1)*9 + mb) - ks_bc
10894 END SUBROUTINE block_1_9_2_1
10909 SUBROUTINE block_1_9_2(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
10911 REAL(kind=
dp) :: kbd(9*md_max), kbc(9*2), kad(1*md_max), kac(1*2), pbd(9*md_max),
pbc(9*2), &
10912 pad(1*md_max), pac(1*2), prim(1*9*2*md_max), scale
10914 INTEGER :: ma, mb, mc, md, p_index
10915 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
10917 kbd(1:9*md_max) = 0.0_dp
10918 kbc(1:9*2) = 0.0_dp
10919 kad(1:1*md_max) = 0.0_dp
10920 kac(1:1*2) = 0.0_dp
10927 p_bd = pbd((md - 1)*9 + mb)
10928 p_bc =
pbc((mc - 1)*9 + mb)
10930 p_index = p_index + 1
10931 tmp = scale*prim(p_index)
10932 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
10933 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
10934 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
10935 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
10937 kbd((md - 1)*9 + mb) = kbd((md - 1)*9 + mb) - ks_bd
10938 kbc((mc - 1)*9 + mb) = kbc((mc - 1)*9 + mb) - ks_bc
10942 END SUBROUTINE block_1_9_2
10958 SUBROUTINE block_1_9(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
10959 INTEGER :: mc_max, md_max
10960 REAL(kind=
dp) :: kbd(9*md_max), kbc(9*mc_max), kad(1*md_max), kac(1*mc_max), pbd(9*md_max), &
10961 pbc(9*mc_max), pad(1*md_max), pac(1*mc_max), prim(1*9*mc_max*md_max), scale
10963 INTEGER :: ma, mb, mc, md, p_index
10964 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
10966 kbd(1:9*md_max) = 0.0_dp
10967 kbc(1:9*mc_max) = 0.0_dp
10968 kad(1:1*md_max) = 0.0_dp
10969 kac(1:1*mc_max) = 0.0_dp
10976 p_bd = pbd((md - 1)*9 + mb)
10977 p_bc =
pbc((mc - 1)*9 + mb)
10979 p_index = p_index + 1
10980 tmp = scale*prim(p_index)
10981 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
10982 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
10983 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
10984 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
10986 kbd((md - 1)*9 + mb) = kbd((md - 1)*9 + mb) - ks_bd
10987 kbc((mc - 1)*9 + mb) = kbc((mc - 1)*9 + mb) - ks_bc
10991 END SUBROUTINE block_1_9
11005 SUBROUTINE block_1_10_1_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
11006 REAL(kind=
dp) :: kbd(10*1), kbc(10*1), kad(1*1), &
11007 kac(1*1), pbd(10*1),
pbc(10*1), &
11008 pad(1*1), pac(1*1), prim(1*10*1*1), &
11011 INTEGER :: ma, mb, mc, md, p_index
11012 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
11014 kbd(1:10*1) = 0.0_dp
11015 kbc(1:10*1) = 0.0_dp
11016 kad(1:1*1) = 0.0_dp
11017 kac(1:1*1) = 0.0_dp
11024 p_bd = pbd((md - 1)*10 + mb)
11025 p_bc =
pbc((mc - 1)*10 + mb)
11027 p_index = p_index + 1
11028 tmp = scale*prim(p_index)
11029 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
11030 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
11031 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
11032 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
11034 kbd((md - 1)*10 + mb) = kbd((md - 1)*10 + mb) - ks_bd
11035 kbc((mc - 1)*10 + mb) = kbc((mc - 1)*10 + mb) - ks_bc
11039 END SUBROUTINE block_1_10_1_1
11054 SUBROUTINE block_1_10_1(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
11056 REAL(kind=
dp) :: kbd(10*md_max), kbc(10*1), kad(1*md_max), kac(1*1), pbd(10*md_max), &
11057 pbc(10*1), pad(1*md_max), pac(1*1), prim(1*10*1*md_max), scale
11059 INTEGER :: ma, mb, mc, md, p_index
11060 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
11062 kbd(1:10*md_max) = 0.0_dp
11063 kbc(1:10*1) = 0.0_dp
11064 kad(1:1*md_max) = 0.0_dp
11065 kac(1:1*1) = 0.0_dp
11072 p_bd = pbd((md - 1)*10 + mb)
11073 p_bc =
pbc((mc - 1)*10 + mb)
11075 p_index = p_index + 1
11076 tmp = scale*prim(p_index)
11077 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
11078 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
11079 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
11080 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
11082 kbd((md - 1)*10 + mb) = kbd((md - 1)*10 + mb) - ks_bd
11083 kbc((mc - 1)*10 + mb) = kbc((mc - 1)*10 + mb) - ks_bc
11087 END SUBROUTINE block_1_10_1
11103 SUBROUTINE block_1_10(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
11104 INTEGER :: mc_max, md_max
11105 REAL(kind=
dp) :: kbd(10*md_max), kbc(10*mc_max), kad(1*md_max), kac(1*mc_max), &
11106 pbd(10*md_max),
pbc(10*mc_max), pad(1*md_max), pac(1*mc_max), prim(1*10*mc_max*md_max), &
11109 INTEGER :: ma, mb, mc, md, p_index
11110 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
11112 kbd(1:10*md_max) = 0.0_dp
11113 kbc(1:10*mc_max) = 0.0_dp
11114 kad(1:1*md_max) = 0.0_dp
11115 kac(1:1*mc_max) = 0.0_dp
11122 p_bd = pbd((md - 1)*10 + mb)
11123 p_bc =
pbc((mc - 1)*10 + mb)
11125 p_index = p_index + 1
11126 tmp = scale*prim(p_index)
11127 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
11128 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
11129 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
11130 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
11132 kbd((md - 1)*10 + mb) = kbd((md - 1)*10 + mb) - ks_bd
11133 kbc((mc - 1)*10 + mb) = kbc((mc - 1)*10 + mb) - ks_bc
11137 END SUBROUTINE block_1_10
11151 SUBROUTINE block_1_11_1_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
11152 REAL(kind=
dp) :: kbd(11*1), kbc(11*1), kad(1*1), &
11153 kac(1*1), pbd(11*1),
pbc(11*1), &
11154 pad(1*1), pac(1*1), prim(1*11*1*1), &
11157 INTEGER :: ma, mb, mc, md, p_index
11158 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
11160 kbd(1:11*1) = 0.0_dp
11161 kbc(1:11*1) = 0.0_dp
11162 kad(1:1*1) = 0.0_dp
11163 kac(1:1*1) = 0.0_dp
11170 p_bd = pbd((md - 1)*11 + mb)
11171 p_bc =
pbc((mc - 1)*11 + mb)
11173 p_index = p_index + 1
11174 tmp = scale*prim(p_index)
11175 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
11176 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
11177 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
11178 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
11180 kbd((md - 1)*11 + mb) = kbd((md - 1)*11 + mb) - ks_bd
11181 kbc((mc - 1)*11 + mb) = kbc((mc - 1)*11 + mb) - ks_bc
11185 END SUBROUTINE block_1_11_1_1
11200 SUBROUTINE block_1_11_1(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
11202 REAL(kind=
dp) :: kbd(11*md_max), kbc(11*1), kad(1*md_max), kac(1*1), pbd(11*md_max), &
11203 pbc(11*1), pad(1*md_max), pac(1*1), prim(1*11*1*md_max), scale
11205 INTEGER :: ma, mb, mc, md, p_index
11206 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
11208 kbd(1:11*md_max) = 0.0_dp
11209 kbc(1:11*1) = 0.0_dp
11210 kad(1:1*md_max) = 0.0_dp
11211 kac(1:1*1) = 0.0_dp
11218 p_bd = pbd((md - 1)*11 + mb)
11219 p_bc =
pbc((mc - 1)*11 + mb)
11221 p_index = p_index + 1
11222 tmp = scale*prim(p_index)
11223 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
11224 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
11225 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
11226 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
11228 kbd((md - 1)*11 + mb) = kbd((md - 1)*11 + mb) - ks_bd
11229 kbc((mc - 1)*11 + mb) = kbc((mc - 1)*11 + mb) - ks_bc
11233 END SUBROUTINE block_1_11_1
11249 SUBROUTINE block_1_11(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
11250 INTEGER :: mc_max, md_max
11251 REAL(kind=
dp) :: kbd(11*md_max), kbc(11*mc_max), kad(1*md_max), kac(1*mc_max), &
11252 pbd(11*md_max),
pbc(11*mc_max), pad(1*md_max), pac(1*mc_max), prim(1*11*mc_max*md_max), &
11255 INTEGER :: ma, mb, mc, md, p_index
11256 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
11258 kbd(1:11*md_max) = 0.0_dp
11259 kbc(1:11*mc_max) = 0.0_dp
11260 kad(1:1*md_max) = 0.0_dp
11261 kac(1:1*mc_max) = 0.0_dp
11268 p_bd = pbd((md - 1)*11 + mb)
11269 p_bc =
pbc((mc - 1)*11 + mb)
11271 p_index = p_index + 1
11272 tmp = scale*prim(p_index)
11273 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
11274 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
11275 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
11276 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
11278 kbd((md - 1)*11 + mb) = kbd((md - 1)*11 + mb) - ks_bd
11279 kbc((mc - 1)*11 + mb) = kbc((mc - 1)*11 + mb) - ks_bc
11283 END SUBROUTINE block_1_11
11297 SUBROUTINE block_1_15_1_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
11298 REAL(kind=
dp) :: kbd(15*1), kbc(15*1), kad(1*1), &
11299 kac(1*1), pbd(15*1),
pbc(15*1), &
11300 pad(1*1), pac(1*1), prim(1*15*1*1), &
11303 INTEGER :: ma, mb, mc, md, p_index
11304 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
11306 kbd(1:15*1) = 0.0_dp
11307 kbc(1:15*1) = 0.0_dp
11308 kad(1:1*1) = 0.0_dp
11309 kac(1:1*1) = 0.0_dp
11316 p_bd = pbd((md - 1)*15 + mb)
11317 p_bc =
pbc((mc - 1)*15 + mb)
11319 p_index = p_index + 1
11320 tmp = scale*prim(p_index)
11321 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
11322 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
11323 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
11324 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
11326 kbd((md - 1)*15 + mb) = kbd((md - 1)*15 + mb) - ks_bd
11327 kbc((mc - 1)*15 + mb) = kbc((mc - 1)*15 + mb) - ks_bc
11331 END SUBROUTINE block_1_15_1_1
11346 SUBROUTINE block_1_15_1(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
11348 REAL(kind=
dp) :: kbd(15*md_max), kbc(15*1), kad(1*md_max), kac(1*1), pbd(15*md_max), &
11349 pbc(15*1), pad(1*md_max), pac(1*1), prim(1*15*1*md_max), scale
11351 INTEGER :: ma, mb, mc, md, p_index
11352 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
11354 kbd(1:15*md_max) = 0.0_dp
11355 kbc(1:15*1) = 0.0_dp
11356 kad(1:1*md_max) = 0.0_dp
11357 kac(1:1*1) = 0.0_dp
11364 p_bd = pbd((md - 1)*15 + mb)
11365 p_bc =
pbc((mc - 1)*15 + mb)
11367 p_index = p_index + 1
11368 tmp = scale*prim(p_index)
11369 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
11370 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
11371 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
11372 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
11374 kbd((md - 1)*15 + mb) = kbd((md - 1)*15 + mb) - ks_bd
11375 kbc((mc - 1)*15 + mb) = kbc((mc - 1)*15 + mb) - ks_bc
11379 END SUBROUTINE block_1_15_1
11395 SUBROUTINE block_1_15(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
11396 INTEGER :: mc_max, md_max
11397 REAL(kind=
dp) :: kbd(15*md_max), kbc(15*mc_max), kad(1*md_max), kac(1*mc_max), &
11398 pbd(15*md_max),
pbc(15*mc_max), pad(1*md_max), pac(1*mc_max), prim(1*15*mc_max*md_max), &
11401 INTEGER :: ma, mb, mc, md, p_index
11402 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
11404 kbd(1:15*md_max) = 0.0_dp
11405 kbc(1:15*mc_max) = 0.0_dp
11406 kad(1:1*md_max) = 0.0_dp
11407 kac(1:1*mc_max) = 0.0_dp
11414 p_bd = pbd((md - 1)*15 + mb)
11415 p_bc =
pbc((mc - 1)*15 + mb)
11417 p_index = p_index + 1
11418 tmp = scale*prim(p_index)
11419 ks_bc = ks_bc + tmp*pad((md - 1)*1 + ma)
11420 ks_bd = ks_bd + tmp*pac((mc - 1)*1 + ma)
11421 kad((md - 1)*1 + ma) = kad((md - 1)*1 + ma) - tmp*p_bc
11422 kac((mc - 1)*1 + ma) = kac((mc - 1)*1 + ma) - tmp*p_bd
11424 kbd((md - 1)*15 + mb) = kbd((md - 1)*15 + mb) - ks_bd
11425 kbc((mc - 1)*15 + mb) = kbc((mc - 1)*15 + mb) - ks_bc
11429 END SUBROUTINE block_1_15
11443 SUBROUTINE block_2_1_1_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
11444 REAL(kind=
dp) :: kbd(1*1), kbc(1*1), kad(2*1), kac(2*1), &
11445 pbd(1*1),
pbc(1*1), pad(2*1), &
11446 pac(2*1), prim(2*1*1*1), scale
11448 INTEGER :: ma, mb, mc, md, p_index
11449 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
11451 kbd(1:1*1) = 0.0_dp
11452 kbc(1:1*1) = 0.0_dp
11453 kad(1:2*1) = 0.0_dp
11454 kac(1:2*1) = 0.0_dp
11461 p_bd = pbd((md - 1)*1 + mb)
11462 p_bc =
pbc((mc - 1)*1 + mb)
11464 p_index = p_index + 1
11465 tmp = scale*prim(p_index)
11466 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
11467 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
11468 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
11469 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
11471 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
11472 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
11476 END SUBROUTINE block_2_1_1_1
11490 SUBROUTINE block_2_1_1_2(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
11491 REAL(kind=
dp) :: kbd(1*2), kbc(1*1), kad(2*2), kac(2*1), &
11492 pbd(1*2),
pbc(1*1), pad(2*2), &
11493 pac(2*1), prim(2*1*1*2), scale
11495 INTEGER :: ma, mb, mc, md, p_index
11496 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
11498 kbd(1:1*2) = 0.0_dp
11499 kbc(1:1*1) = 0.0_dp
11500 kad(1:2*2) = 0.0_dp
11501 kac(1:2*1) = 0.0_dp
11508 p_bd = pbd((md - 1)*1 + mb)
11509 p_bc =
pbc((mc - 1)*1 + mb)
11511 p_index = p_index + 1
11512 tmp = scale*prim(p_index)
11513 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
11514 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
11515 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
11516 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
11518 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
11519 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
11523 END SUBROUTINE block_2_1_1_2
11537 SUBROUTINE block_2_1_1_3(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
11538 REAL(kind=
dp) :: kbd(1*3), kbc(1*1), kad(2*3), kac(2*1), &
11539 pbd(1*3),
pbc(1*1), pad(2*3), &
11540 pac(2*1), prim(2*1*1*3), scale
11542 INTEGER :: ma, mb, mc, md, p_index
11543 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
11545 kbd(1:1*3) = 0.0_dp
11546 kbc(1:1*1) = 0.0_dp
11547 kad(1:2*3) = 0.0_dp
11548 kac(1:2*1) = 0.0_dp
11555 p_bd = pbd((md - 1)*1 + mb)
11556 p_bc =
pbc((mc - 1)*1 + mb)
11558 p_index = p_index + 1
11559 tmp = scale*prim(p_index)
11560 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
11561 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
11562 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
11563 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
11565 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
11566 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
11570 END SUBROUTINE block_2_1_1_3
11584 SUBROUTINE block_2_1_1_4(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
11585 REAL(kind=
dp) :: kbd(1*4), kbc(1*1), kad(2*4), kac(2*1), &
11586 pbd(1*4),
pbc(1*1), pad(2*4), &
11587 pac(2*1), prim(2*1*1*4), scale
11589 INTEGER :: ma, mb, mc, md, p_index
11590 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
11592 kbd(1:1*4) = 0.0_dp
11593 kbc(1:1*1) = 0.0_dp
11594 kad(1:2*4) = 0.0_dp
11595 kac(1:2*1) = 0.0_dp
11602 p_bd = pbd((md - 1)*1 + mb)
11603 p_bc =
pbc((mc - 1)*1 + mb)
11605 p_index = p_index + 1
11606 tmp = scale*prim(p_index)
11607 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
11608 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
11609 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
11610 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
11612 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
11613 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
11617 END SUBROUTINE block_2_1_1_4
11631 SUBROUTINE block_2_1_1_5(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
11632 REAL(kind=
dp) :: kbd(1*5), kbc(1*1), kad(2*5), kac(2*1), &
11633 pbd(1*5),
pbc(1*1), pad(2*5), &
11634 pac(2*1), prim(2*1*1*5), scale
11636 INTEGER :: ma, mb, mc, md, p_index
11637 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
11639 kbd(1:1*5) = 0.0_dp
11640 kbc(1:1*1) = 0.0_dp
11641 kad(1:2*5) = 0.0_dp
11642 kac(1:2*1) = 0.0_dp
11649 p_bd = pbd((md - 1)*1 + mb)
11650 p_bc =
pbc((mc - 1)*1 + mb)
11652 p_index = p_index + 1
11653 tmp = scale*prim(p_index)
11654 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
11655 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
11656 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
11657 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
11659 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
11660 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
11664 END SUBROUTINE block_2_1_1_5
11678 SUBROUTINE block_2_1_1_6(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
11679 REAL(kind=
dp) :: kbd(1*6), kbc(1*1), kad(2*6), kac(2*1), &
11680 pbd(1*6),
pbc(1*1), pad(2*6), &
11681 pac(2*1), prim(2*1*1*6), scale
11683 INTEGER :: ma, mb, mc, md, p_index
11684 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
11686 kbd(1:1*6) = 0.0_dp
11687 kbc(1:1*1) = 0.0_dp
11688 kad(1:2*6) = 0.0_dp
11689 kac(1:2*1) = 0.0_dp
11696 p_bd = pbd((md - 1)*1 + mb)
11697 p_bc =
pbc((mc - 1)*1 + mb)
11699 p_index = p_index + 1
11700 tmp = scale*prim(p_index)
11701 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
11702 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
11703 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
11704 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
11706 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
11707 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
11711 END SUBROUTINE block_2_1_1_6
11725 SUBROUTINE block_2_1_1_7(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
11726 REAL(kind=
dp) :: kbd(1*7), kbc(1*1), kad(2*7), kac(2*1), &
11727 pbd(1*7),
pbc(1*1), pad(2*7), &
11728 pac(2*1), prim(2*1*1*7), scale
11730 INTEGER :: ma, mb, mc, md, p_index
11731 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
11733 kbd(1:1*7) = 0.0_dp
11734 kbc(1:1*1) = 0.0_dp
11735 kad(1:2*7) = 0.0_dp
11736 kac(1:2*1) = 0.0_dp
11743 p_bd = pbd((md - 1)*1 + mb)
11744 p_bc =
pbc((mc - 1)*1 + mb)
11746 p_index = p_index + 1
11747 tmp = scale*prim(p_index)
11748 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
11749 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
11750 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
11751 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
11753 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
11754 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
11758 END SUBROUTINE block_2_1_1_7
11772 SUBROUTINE block_2_1_1_9(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
11773 REAL(kind=
dp) :: kbd(1*9), kbc(1*1), kad(2*9), kac(2*1), &
11774 pbd(1*9),
pbc(1*1), pad(2*9), &
11775 pac(2*1), prim(2*1*1*9), scale
11777 INTEGER :: ma, mb, mc, md, p_index
11778 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
11780 kbd(1:1*9) = 0.0_dp
11781 kbc(1:1*1) = 0.0_dp
11782 kad(1:2*9) = 0.0_dp
11783 kac(1:2*1) = 0.0_dp
11790 p_bd = pbd((md - 1)*1 + mb)
11791 p_bc =
pbc((mc - 1)*1 + mb)
11793 p_index = p_index + 1
11794 tmp = scale*prim(p_index)
11795 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
11796 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
11797 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
11798 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
11800 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
11801 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
11805 END SUBROUTINE block_2_1_1_9
11820 SUBROUTINE block_2_1_1(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
11822 REAL(kind=
dp) :: kbd(1*md_max), kbc(1*1), kad(2*md_max), kac(2*1), pbd(1*md_max),
pbc(1*1), &
11823 pad(2*md_max), pac(2*1), prim(2*1*1*md_max), scale
11825 INTEGER :: ma, mb, mc, md, p_index
11826 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
11828 kbd(1:1*md_max) = 0.0_dp
11829 kbc(1:1*1) = 0.0_dp
11830 kad(1:2*md_max) = 0.0_dp
11831 kac(1:2*1) = 0.0_dp
11838 p_bd = pbd((md - 1)*1 + mb)
11839 p_bc =
pbc((mc - 1)*1 + mb)
11841 p_index = p_index + 1
11842 tmp = scale*prim(p_index)
11843 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
11844 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
11845 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
11846 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
11848 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
11849 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
11853 END SUBROUTINE block_2_1_1
11867 SUBROUTINE block_2_1_2_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
11868 REAL(kind=
dp) :: kbd(1*1), kbc(1*2), kad(2*1), kac(2*2), &
11869 pbd(1*1),
pbc(1*2), pad(2*1), &
11870 pac(2*2), prim(2*1*2*1), scale
11872 INTEGER :: ma, mb, mc, md, p_index
11873 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
11875 kbd(1:1*1) = 0.0_dp
11876 kbc(1:1*2) = 0.0_dp
11877 kad(1:2*1) = 0.0_dp
11878 kac(1:2*2) = 0.0_dp
11885 p_bd = pbd((md - 1)*1 + mb)
11886 p_bc =
pbc((mc - 1)*1 + mb)
11888 p_index = p_index + 1
11889 tmp = scale*prim(p_index)
11890 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
11891 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
11892 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
11893 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
11895 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
11896 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
11900 END SUBROUTINE block_2_1_2_1
11914 SUBROUTINE block_2_1_2_2(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
11915 REAL(kind=
dp) :: kbd(1*2), kbc(1*2), kad(2*2), kac(2*2), &
11916 pbd(1*2),
pbc(1*2), pad(2*2), &
11917 pac(2*2), prim(2*1*2*2), scale
11919 INTEGER :: ma, mb, mc, md, p_index
11920 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
11922 kbd(1:1*2) = 0.0_dp
11923 kbc(1:1*2) = 0.0_dp
11924 kad(1:2*2) = 0.0_dp
11925 kac(1:2*2) = 0.0_dp
11932 p_bd = pbd((md - 1)*1 + mb)
11933 p_bc =
pbc((mc - 1)*1 + mb)
11935 p_index = p_index + 1
11936 tmp = scale*prim(p_index)
11937 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
11938 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
11939 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
11940 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
11942 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
11943 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
11947 END SUBROUTINE block_2_1_2_2
11961 SUBROUTINE block_2_1_2_3(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
11962 REAL(kind=
dp) :: kbd(1*3), kbc(1*2), kad(2*3), kac(2*2), &
11963 pbd(1*3),
pbc(1*2), pad(2*3), &
11964 pac(2*2), prim(2*1*2*3), scale
11966 INTEGER :: ma, mb, mc, md, p_index
11967 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
11969 kbd(1:1*3) = 0.0_dp
11970 kbc(1:1*2) = 0.0_dp
11971 kad(1:2*3) = 0.0_dp
11972 kac(1:2*2) = 0.0_dp
11979 p_bd = pbd((md - 1)*1 + mb)
11980 p_bc =
pbc((mc - 1)*1 + mb)
11982 p_index = p_index + 1
11983 tmp = scale*prim(p_index)
11984 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
11985 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
11986 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
11987 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
11989 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
11990 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
11994 END SUBROUTINE block_2_1_2_3
12008 SUBROUTINE block_2_1_2_4(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
12009 REAL(kind=
dp) :: kbd(1*4), kbc(1*2), kad(2*4), kac(2*2), &
12010 pbd(1*4),
pbc(1*2), pad(2*4), &
12011 pac(2*2), prim(2*1*2*4), scale
12013 INTEGER :: ma, mb, mc, md, p_index
12014 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
12016 kbd(1:1*4) = 0.0_dp
12017 kbc(1:1*2) = 0.0_dp
12018 kad(1:2*4) = 0.0_dp
12019 kac(1:2*2) = 0.0_dp
12026 p_bd = pbd((md - 1)*1 + mb)
12027 p_bc =
pbc((mc - 1)*1 + mb)
12029 p_index = p_index + 1
12030 tmp = scale*prim(p_index)
12031 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
12032 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
12033 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
12034 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
12036 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
12037 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
12041 END SUBROUTINE block_2_1_2_4
12056 SUBROUTINE block_2_1_2(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
12058 REAL(kind=
dp) :: kbd(1*md_max), kbc(1*2), kad(2*md_max), kac(2*2), pbd(1*md_max),
pbc(1*2), &
12059 pad(2*md_max), pac(2*2), prim(2*1*2*md_max), scale
12061 INTEGER :: ma, mb, mc, md, p_index
12062 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
12064 kbd(1:1*md_max) = 0.0_dp
12065 kbc(1:1*2) = 0.0_dp
12066 kad(1:2*md_max) = 0.0_dp
12067 kac(1:2*2) = 0.0_dp
12074 p_bd = pbd((md - 1)*1 + mb)
12075 p_bc =
pbc((mc - 1)*1 + mb)
12077 p_index = p_index + 1
12078 tmp = scale*prim(p_index)
12079 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
12080 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
12081 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
12082 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
12084 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
12085 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
12089 END SUBROUTINE block_2_1_2
12103 SUBROUTINE block_2_1_3_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
12104 REAL(kind=
dp) :: kbd(1*1), kbc(1*3), kad(2*1), kac(2*3), &
12105 pbd(1*1),
pbc(1*3), pad(2*1), &
12106 pac(2*3), prim(2*1*3*1), scale
12108 INTEGER :: ma, mb, mc, md, p_index
12109 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
12111 kbd(1:1*1) = 0.0_dp
12112 kbc(1:1*3) = 0.0_dp
12113 kad(1:2*1) = 0.0_dp
12114 kac(1:2*3) = 0.0_dp
12121 p_bd = pbd((md - 1)*1 + mb)
12122 p_bc =
pbc((mc - 1)*1 + mb)
12124 p_index = p_index + 1
12125 tmp = scale*prim(p_index)
12126 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
12127 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
12128 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
12129 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
12131 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
12132 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
12136 END SUBROUTINE block_2_1_3_1
12150 SUBROUTINE block_2_1_3_2(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
12151 REAL(kind=
dp) :: kbd(1*2), kbc(1*3), kad(2*2), kac(2*3), &
12152 pbd(1*2),
pbc(1*3), pad(2*2), &
12153 pac(2*3), prim(2*1*3*2), scale
12155 INTEGER :: ma, mb, mc, md, p_index
12156 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
12158 kbd(1:1*2) = 0.0_dp
12159 kbc(1:1*3) = 0.0_dp
12160 kad(1:2*2) = 0.0_dp
12161 kac(1:2*3) = 0.0_dp
12168 p_bd = pbd((md - 1)*1 + mb)
12169 p_bc =
pbc((mc - 1)*1 + mb)
12171 p_index = p_index + 1
12172 tmp = scale*prim(p_index)
12173 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
12174 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
12175 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
12176 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
12178 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
12179 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
12183 END SUBROUTINE block_2_1_3_2
12197 SUBROUTINE block_2_1_3_3(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
12198 REAL(kind=
dp) :: kbd(1*3), kbc(1*3), kad(2*3), kac(2*3), &
12199 pbd(1*3),
pbc(1*3), pad(2*3), &
12200 pac(2*3), prim(2*1*3*3), scale
12202 INTEGER :: ma, mb, mc, md, p_index
12203 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
12205 kbd(1:1*3) = 0.0_dp
12206 kbc(1:1*3) = 0.0_dp
12207 kad(1:2*3) = 0.0_dp
12208 kac(1:2*3) = 0.0_dp
12215 p_bd = pbd((md - 1)*1 + mb)
12216 p_bc =
pbc((mc - 1)*1 + mb)
12218 p_index = p_index + 1
12219 tmp = scale*prim(p_index)
12220 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
12221 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
12222 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
12223 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
12225 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
12226 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
12230 END SUBROUTINE block_2_1_3_3
12245 SUBROUTINE block_2_1_3(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
12247 REAL(kind=
dp) :: kbd(1*md_max), kbc(1*3), kad(2*md_max), kac(2*3), pbd(1*md_max),
pbc(1*3), &
12248 pad(2*md_max), pac(2*3), prim(2*1*3*md_max), scale
12250 INTEGER :: ma, mb, mc, md, p_index
12251 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
12253 kbd(1:1*md_max) = 0.0_dp
12254 kbc(1:1*3) = 0.0_dp
12255 kad(1:2*md_max) = 0.0_dp
12256 kac(1:2*3) = 0.0_dp
12263 p_bd = pbd((md - 1)*1 + mb)
12264 p_bc =
pbc((mc - 1)*1 + mb)
12266 p_index = p_index + 1
12267 tmp = scale*prim(p_index)
12268 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
12269 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
12270 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
12271 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
12273 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
12274 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
12278 END SUBROUTINE block_2_1_3
12292 SUBROUTINE block_2_1_4_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
12293 REAL(kind=
dp) :: kbd(1*1), kbc(1*4), kad(2*1), kac(2*4), &
12294 pbd(1*1),
pbc(1*4), pad(2*1), &
12295 pac(2*4), prim(2*1*4*1), scale
12297 INTEGER :: ma, mb, mc, md, p_index
12298 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
12300 kbd(1:1*1) = 0.0_dp
12301 kbc(1:1*4) = 0.0_dp
12302 kad(1:2*1) = 0.0_dp
12303 kac(1:2*4) = 0.0_dp
12310 p_bd = pbd((md - 1)*1 + mb)
12311 p_bc =
pbc((mc - 1)*1 + mb)
12313 p_index = p_index + 1
12314 tmp = scale*prim(p_index)
12315 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
12316 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
12317 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
12318 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
12320 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
12321 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
12325 END SUBROUTINE block_2_1_4_1
12339 SUBROUTINE block_2_1_4_2(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
12340 REAL(kind=
dp) :: kbd(1*2), kbc(1*4), kad(2*2), kac(2*4), &
12341 pbd(1*2),
pbc(1*4), pad(2*2), &
12342 pac(2*4), prim(2*1*4*2), scale
12344 INTEGER :: ma, mb, mc, md, p_index
12345 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
12347 kbd(1:1*2) = 0.0_dp
12348 kbc(1:1*4) = 0.0_dp
12349 kad(1:2*2) = 0.0_dp
12350 kac(1:2*4) = 0.0_dp
12357 p_bd = pbd((md - 1)*1 + mb)
12358 p_bc =
pbc((mc - 1)*1 + mb)
12360 p_index = p_index + 1
12361 tmp = scale*prim(p_index)
12362 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
12363 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
12364 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
12365 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
12367 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
12368 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
12372 END SUBROUTINE block_2_1_4_2
12387 SUBROUTINE block_2_1_4(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
12389 REAL(kind=
dp) :: kbd(1*md_max), kbc(1*4), kad(2*md_max), kac(2*4), pbd(1*md_max),
pbc(1*4), &
12390 pad(2*md_max), pac(2*4), prim(2*1*4*md_max), scale
12392 INTEGER :: ma, mb, mc, md, p_index
12393 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
12395 kbd(1:1*md_max) = 0.0_dp
12396 kbc(1:1*4) = 0.0_dp
12397 kad(1:2*md_max) = 0.0_dp
12398 kac(1:2*4) = 0.0_dp
12405 p_bd = pbd((md - 1)*1 + mb)
12406 p_bc =
pbc((mc - 1)*1 + mb)
12408 p_index = p_index + 1
12409 tmp = scale*prim(p_index)
12410 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
12411 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
12412 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
12413 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
12415 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
12416 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
12420 END SUBROUTINE block_2_1_4
12434 SUBROUTINE block_2_1_5_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
12435 REAL(kind=
dp) :: kbd(1*1), kbc(1*5), kad(2*1), kac(2*5), &
12436 pbd(1*1),
pbc(1*5), pad(2*1), &
12437 pac(2*5), prim(2*1*5*1), scale
12439 INTEGER :: ma, mb, mc, md, p_index
12440 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
12442 kbd(1:1*1) = 0.0_dp
12443 kbc(1:1*5) = 0.0_dp
12444 kad(1:2*1) = 0.0_dp
12445 kac(1:2*5) = 0.0_dp
12452 p_bd = pbd((md - 1)*1 + mb)
12453 p_bc =
pbc((mc - 1)*1 + mb)
12455 p_index = p_index + 1
12456 tmp = scale*prim(p_index)
12457 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
12458 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
12459 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
12460 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
12462 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
12463 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
12467 END SUBROUTINE block_2_1_5_1
12482 SUBROUTINE block_2_1_5(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
12484 REAL(kind=
dp) :: kbd(1*md_max), kbc(1*5), kad(2*md_max), kac(2*5), pbd(1*md_max),
pbc(1*5), &
12485 pad(2*md_max), pac(2*5), prim(2*1*5*md_max), scale
12487 INTEGER :: ma, mb, mc, md, p_index
12488 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
12490 kbd(1:1*md_max) = 0.0_dp
12491 kbc(1:1*5) = 0.0_dp
12492 kad(1:2*md_max) = 0.0_dp
12493 kac(1:2*5) = 0.0_dp
12500 p_bd = pbd((md - 1)*1 + mb)
12501 p_bc =
pbc((mc - 1)*1 + mb)
12503 p_index = p_index + 1
12504 tmp = scale*prim(p_index)
12505 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
12506 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
12507 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
12508 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
12510 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
12511 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
12515 END SUBROUTINE block_2_1_5
12529 SUBROUTINE block_2_1_6_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
12530 REAL(kind=
dp) :: kbd(1*1), kbc(1*6), kad(2*1), kac(2*6), &
12531 pbd(1*1),
pbc(1*6), pad(2*1), &
12532 pac(2*6), prim(2*1*6*1), scale
12534 INTEGER :: ma, mb, mc, md, p_index
12535 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
12537 kbd(1:1*1) = 0.0_dp
12538 kbc(1:1*6) = 0.0_dp
12539 kad(1:2*1) = 0.0_dp
12540 kac(1:2*6) = 0.0_dp
12547 p_bd = pbd((md - 1)*1 + mb)
12548 p_bc =
pbc((mc - 1)*1 + mb)
12550 p_index = p_index + 1
12551 tmp = scale*prim(p_index)
12552 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
12553 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
12554 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
12555 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
12557 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
12558 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
12562 END SUBROUTINE block_2_1_6_1
12577 SUBROUTINE block_2_1_6(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
12579 REAL(kind=
dp) :: kbd(1*md_max), kbc(1*6), kad(2*md_max), kac(2*6), pbd(1*md_max),
pbc(1*6), &
12580 pad(2*md_max), pac(2*6), prim(2*1*6*md_max), scale
12582 INTEGER :: ma, mb, mc, md, p_index
12583 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
12585 kbd(1:1*md_max) = 0.0_dp
12586 kbc(1:1*6) = 0.0_dp
12587 kad(1:2*md_max) = 0.0_dp
12588 kac(1:2*6) = 0.0_dp
12595 p_bd = pbd((md - 1)*1 + mb)
12596 p_bc =
pbc((mc - 1)*1 + mb)
12598 p_index = p_index + 1
12599 tmp = scale*prim(p_index)
12600 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
12601 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
12602 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
12603 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
12605 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
12606 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
12610 END SUBROUTINE block_2_1_6
12624 SUBROUTINE block_2_1_7_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
12625 REAL(kind=
dp) :: kbd(1*1), kbc(1*7), kad(2*1), kac(2*7), &
12626 pbd(1*1),
pbc(1*7), pad(2*1), &
12627 pac(2*7), prim(2*1*7*1), scale
12629 INTEGER :: ma, mb, mc, md, p_index
12630 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
12632 kbd(1:1*1) = 0.0_dp
12633 kbc(1:1*7) = 0.0_dp
12634 kad(1:2*1) = 0.0_dp
12635 kac(1:2*7) = 0.0_dp
12642 p_bd = pbd((md - 1)*1 + mb)
12643 p_bc =
pbc((mc - 1)*1 + mb)
12645 p_index = p_index + 1
12646 tmp = scale*prim(p_index)
12647 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
12648 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
12649 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
12650 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
12652 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
12653 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
12657 END SUBROUTINE block_2_1_7_1
12672 SUBROUTINE block_2_1_7(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
12674 REAL(kind=
dp) :: kbd(1*md_max), kbc(1*7), kad(2*md_max), kac(2*7), pbd(1*md_max),
pbc(1*7), &
12675 pad(2*md_max), pac(2*7), prim(2*1*7*md_max), scale
12677 INTEGER :: ma, mb, mc, md, p_index
12678 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
12680 kbd(1:1*md_max) = 0.0_dp
12681 kbc(1:1*7) = 0.0_dp
12682 kad(1:2*md_max) = 0.0_dp
12683 kac(1:2*7) = 0.0_dp
12690 p_bd = pbd((md - 1)*1 + mb)
12691 p_bc =
pbc((mc - 1)*1 + mb)
12693 p_index = p_index + 1
12694 tmp = scale*prim(p_index)
12695 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
12696 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
12697 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
12698 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
12700 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
12701 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
12705 END SUBROUTINE block_2_1_7
12719 SUBROUTINE block_2_1_9_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
12720 REAL(kind=
dp) :: kbd(1*1), kbc(1*9), kad(2*1), kac(2*9), &
12721 pbd(1*1),
pbc(1*9), pad(2*1), &
12722 pac(2*9), prim(2*1*9*1), scale
12724 INTEGER :: ma, mb, mc, md, p_index
12725 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
12727 kbd(1:1*1) = 0.0_dp
12728 kbc(1:1*9) = 0.0_dp
12729 kad(1:2*1) = 0.0_dp
12730 kac(1:2*9) = 0.0_dp
12737 p_bd = pbd((md - 1)*1 + mb)
12738 p_bc =
pbc((mc - 1)*1 + mb)
12740 p_index = p_index + 1
12741 tmp = scale*prim(p_index)
12742 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
12743 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
12744 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
12745 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
12747 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
12748 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
12752 END SUBROUTINE block_2_1_9_1
12767 SUBROUTINE block_2_1_9(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
12769 REAL(kind=
dp) :: kbd(1*md_max), kbc(1*9), kad(2*md_max), kac(2*9), pbd(1*md_max),
pbc(1*9), &
12770 pad(2*md_max), pac(2*9), prim(2*1*9*md_max), scale
12772 INTEGER :: ma, mb, mc, md, p_index
12773 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
12775 kbd(1:1*md_max) = 0.0_dp
12776 kbc(1:1*9) = 0.0_dp
12777 kad(1:2*md_max) = 0.0_dp
12778 kac(1:2*9) = 0.0_dp
12785 p_bd = pbd((md - 1)*1 + mb)
12786 p_bc =
pbc((mc - 1)*1 + mb)
12788 p_index = p_index + 1
12789 tmp = scale*prim(p_index)
12790 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
12791 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
12792 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
12793 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
12795 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
12796 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
12800 END SUBROUTINE block_2_1_9
12816 SUBROUTINE block_2_1(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
12817 INTEGER :: mc_max, md_max
12818 REAL(kind=
dp) :: kbd(1*md_max), kbc(1*mc_max), kad(2*md_max), kac(2*mc_max), pbd(1*md_max), &
12819 pbc(1*mc_max), pad(2*md_max), pac(2*mc_max), prim(2*1*mc_max*md_max), scale
12821 INTEGER :: ma, mb, mc, md, p_index
12822 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
12824 kbd(1:1*md_max) = 0.0_dp
12825 kbc(1:1*mc_max) = 0.0_dp
12826 kad(1:2*md_max) = 0.0_dp
12827 kac(1:2*mc_max) = 0.0_dp
12834 p_bd = pbd((md - 1)*1 + mb)
12835 p_bc =
pbc((mc - 1)*1 + mb)
12837 p_index = p_index + 1
12838 tmp = scale*prim(p_index)
12839 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
12840 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
12841 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
12842 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
12844 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
12845 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
12849 END SUBROUTINE block_2_1
12863 SUBROUTINE block_2_2_1_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
12864 REAL(kind=
dp) :: kbd(2*1), kbc(2*1), kad(2*1), kac(2*1), &
12865 pbd(2*1),
pbc(2*1), pad(2*1), &
12866 pac(2*1), prim(2*2*1*1), scale
12868 INTEGER :: ma, mb, mc, md, p_index
12869 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
12871 kbd(1:2*1) = 0.0_dp
12872 kbc(1:2*1) = 0.0_dp
12873 kad(1:2*1) = 0.0_dp
12874 kac(1:2*1) = 0.0_dp
12881 p_bd = pbd((md - 1)*2 + mb)
12882 p_bc =
pbc((mc - 1)*2 + mb)
12884 p_index = p_index + 1
12885 tmp = scale*prim(p_index)
12886 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
12887 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
12888 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
12889 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
12891 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
12892 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
12896 END SUBROUTINE block_2_2_1_1
12910 SUBROUTINE block_2_2_1_2(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
12911 REAL(kind=
dp) :: kbd(2*2), kbc(2*1), kad(2*2), kac(2*1), &
12912 pbd(2*2),
pbc(2*1), pad(2*2), &
12913 pac(2*1), prim(2*2*1*2), scale
12915 INTEGER :: ma, mb, mc, md, p_index
12916 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
12918 kbd(1:2*2) = 0.0_dp
12919 kbc(1:2*1) = 0.0_dp
12920 kad(1:2*2) = 0.0_dp
12921 kac(1:2*1) = 0.0_dp
12928 p_bd = pbd((md - 1)*2 + mb)
12929 p_bc =
pbc((mc - 1)*2 + mb)
12931 p_index = p_index + 1
12932 tmp = scale*prim(p_index)
12933 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
12934 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
12935 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
12936 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
12938 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
12939 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
12943 END SUBROUTINE block_2_2_1_2
12957 SUBROUTINE block_2_2_1_3(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
12958 REAL(kind=
dp) :: kbd(2*3), kbc(2*1), kad(2*3), kac(2*1), &
12959 pbd(2*3),
pbc(2*1), pad(2*3), &
12960 pac(2*1), prim(2*2*1*3), scale
12962 INTEGER :: ma, mb, mc, md, p_index
12963 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
12965 kbd(1:2*3) = 0.0_dp
12966 kbc(1:2*1) = 0.0_dp
12967 kad(1:2*3) = 0.0_dp
12968 kac(1:2*1) = 0.0_dp
12975 p_bd = pbd((md - 1)*2 + mb)
12976 p_bc =
pbc((mc - 1)*2 + mb)
12978 p_index = p_index + 1
12979 tmp = scale*prim(p_index)
12980 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
12981 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
12982 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
12983 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
12985 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
12986 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
12990 END SUBROUTINE block_2_2_1_3
13004 SUBROUTINE block_2_2_1_4(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
13005 REAL(kind=
dp) :: kbd(2*4), kbc(2*1), kad(2*4), kac(2*1), &
13006 pbd(2*4),
pbc(2*1), pad(2*4), &
13007 pac(2*1), prim(2*2*1*4), scale
13009 INTEGER :: ma, mb, mc, md, p_index
13010 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
13012 kbd(1:2*4) = 0.0_dp
13013 kbc(1:2*1) = 0.0_dp
13014 kad(1:2*4) = 0.0_dp
13015 kac(1:2*1) = 0.0_dp
13022 p_bd = pbd((md - 1)*2 + mb)
13023 p_bc =
pbc((mc - 1)*2 + mb)
13025 p_index = p_index + 1
13026 tmp = scale*prim(p_index)
13027 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
13028 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
13029 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
13030 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
13032 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
13033 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
13037 END SUBROUTINE block_2_2_1_4
13052 SUBROUTINE block_2_2_1(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
13054 REAL(kind=
dp) :: kbd(2*md_max), kbc(2*1), kad(2*md_max), kac(2*1), pbd(2*md_max),
pbc(2*1), &
13055 pad(2*md_max), pac(2*1), prim(2*2*1*md_max), scale
13057 INTEGER :: ma, mb, mc, md, p_index
13058 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
13060 kbd(1:2*md_max) = 0.0_dp
13061 kbc(1:2*1) = 0.0_dp
13062 kad(1:2*md_max) = 0.0_dp
13063 kac(1:2*1) = 0.0_dp
13070 p_bd = pbd((md - 1)*2 + mb)
13071 p_bc =
pbc((mc - 1)*2 + mb)
13073 p_index = p_index + 1
13074 tmp = scale*prim(p_index)
13075 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
13076 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
13077 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
13078 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
13080 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
13081 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
13085 END SUBROUTINE block_2_2_1
13099 SUBROUTINE block_2_2_2_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
13100 REAL(kind=
dp) :: kbd(2*1), kbc(2*2), kad(2*1), kac(2*2), &
13101 pbd(2*1),
pbc(2*2), pad(2*1), &
13102 pac(2*2), prim(2*2*2*1), scale
13104 INTEGER :: ma, mb, mc, md, p_index
13105 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
13107 kbd(1:2*1) = 0.0_dp
13108 kbc(1:2*2) = 0.0_dp
13109 kad(1:2*1) = 0.0_dp
13110 kac(1:2*2) = 0.0_dp
13117 p_bd = pbd((md - 1)*2 + mb)
13118 p_bc =
pbc((mc - 1)*2 + mb)
13120 p_index = p_index + 1
13121 tmp = scale*prim(p_index)
13122 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
13123 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
13124 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
13125 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
13127 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
13128 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
13132 END SUBROUTINE block_2_2_2_1
13146 SUBROUTINE block_2_2_2_2(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
13147 REAL(kind=
dp) :: kbd(2*2), kbc(2*2), kad(2*2), kac(2*2), &
13148 pbd(2*2),
pbc(2*2), pad(2*2), &
13149 pac(2*2), prim(2*2*2*2), scale
13151 INTEGER :: ma, mb, mc, md, p_index
13152 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
13154 kbd(1:2*2) = 0.0_dp
13155 kbc(1:2*2) = 0.0_dp
13156 kad(1:2*2) = 0.0_dp
13157 kac(1:2*2) = 0.0_dp
13164 p_bd = pbd((md - 1)*2 + mb)
13165 p_bc =
pbc((mc - 1)*2 + mb)
13167 p_index = p_index + 1
13168 tmp = scale*prim(p_index)
13169 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
13170 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
13171 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
13172 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
13174 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
13175 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
13179 END SUBROUTINE block_2_2_2_2
13194 SUBROUTINE block_2_2_2(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
13196 REAL(kind=
dp) :: kbd(2*md_max), kbc(2*2), kad(2*md_max), kac(2*2), pbd(2*md_max),
pbc(2*2), &
13197 pad(2*md_max), pac(2*2), prim(2*2*2*md_max), scale
13199 INTEGER :: ma, mb, mc, md, p_index
13200 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
13202 kbd(1:2*md_max) = 0.0_dp
13203 kbc(1:2*2) = 0.0_dp
13204 kad(1:2*md_max) = 0.0_dp
13205 kac(1:2*2) = 0.0_dp
13212 p_bd = pbd((md - 1)*2 + mb)
13213 p_bc =
pbc((mc - 1)*2 + mb)
13215 p_index = p_index + 1
13216 tmp = scale*prim(p_index)
13217 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
13218 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
13219 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
13220 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
13222 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
13223 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
13227 END SUBROUTINE block_2_2_2
13241 SUBROUTINE block_2_2_3_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
13242 REAL(kind=
dp) :: kbd(2*1), kbc(2*3), kad(2*1), kac(2*3), &
13243 pbd(2*1),
pbc(2*3), pad(2*1), &
13244 pac(2*3), prim(2*2*3*1), scale
13246 INTEGER :: ma, mb, mc, md, p_index
13247 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
13249 kbd(1:2*1) = 0.0_dp
13250 kbc(1:2*3) = 0.0_dp
13251 kad(1:2*1) = 0.0_dp
13252 kac(1:2*3) = 0.0_dp
13259 p_bd = pbd((md - 1)*2 + mb)
13260 p_bc =
pbc((mc - 1)*2 + mb)
13262 p_index = p_index + 1
13263 tmp = scale*prim(p_index)
13264 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
13265 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
13266 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
13267 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
13269 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
13270 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
13274 END SUBROUTINE block_2_2_3_1
13289 SUBROUTINE block_2_2_3(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
13291 REAL(kind=
dp) :: kbd(2*md_max), kbc(2*3), kad(2*md_max), kac(2*3), pbd(2*md_max),
pbc(2*3), &
13292 pad(2*md_max), pac(2*3), prim(2*2*3*md_max), scale
13294 INTEGER :: ma, mb, mc, md, p_index
13295 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
13297 kbd(1:2*md_max) = 0.0_dp
13298 kbc(1:2*3) = 0.0_dp
13299 kad(1:2*md_max) = 0.0_dp
13300 kac(1:2*3) = 0.0_dp
13307 p_bd = pbd((md - 1)*2 + mb)
13308 p_bc =
pbc((mc - 1)*2 + mb)
13310 p_index = p_index + 1
13311 tmp = scale*prim(p_index)
13312 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
13313 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
13314 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
13315 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
13317 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
13318 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
13322 END SUBROUTINE block_2_2_3
13336 SUBROUTINE block_2_2_4_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
13337 REAL(kind=
dp) :: kbd(2*1), kbc(2*4), kad(2*1), kac(2*4), &
13338 pbd(2*1),
pbc(2*4), pad(2*1), &
13339 pac(2*4), prim(2*2*4*1), scale
13341 INTEGER :: ma, mb, mc, md, p_index
13342 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
13344 kbd(1:2*1) = 0.0_dp
13345 kbc(1:2*4) = 0.0_dp
13346 kad(1:2*1) = 0.0_dp
13347 kac(1:2*4) = 0.0_dp
13354 p_bd = pbd((md - 1)*2 + mb)
13355 p_bc =
pbc((mc - 1)*2 + mb)
13357 p_index = p_index + 1
13358 tmp = scale*prim(p_index)
13359 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
13360 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
13361 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
13362 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
13364 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
13365 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
13369 END SUBROUTINE block_2_2_4_1
13384 SUBROUTINE block_2_2_4(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
13386 REAL(kind=
dp) :: kbd(2*md_max), kbc(2*4), kad(2*md_max), kac(2*4), pbd(2*md_max),
pbc(2*4), &
13387 pad(2*md_max), pac(2*4), prim(2*2*4*md_max), scale
13389 INTEGER :: ma, mb, mc, md, p_index
13390 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
13392 kbd(1:2*md_max) = 0.0_dp
13393 kbc(1:2*4) = 0.0_dp
13394 kad(1:2*md_max) = 0.0_dp
13395 kac(1:2*4) = 0.0_dp
13402 p_bd = pbd((md - 1)*2 + mb)
13403 p_bc =
pbc((mc - 1)*2 + mb)
13405 p_index = p_index + 1
13406 tmp = scale*prim(p_index)
13407 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
13408 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
13409 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
13410 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
13412 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
13413 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
13417 END SUBROUTINE block_2_2_4
13433 SUBROUTINE block_2_2(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
13434 INTEGER :: mc_max, md_max
13435 REAL(kind=
dp) :: kbd(2*md_max), kbc(2*mc_max), kad(2*md_max), kac(2*mc_max), pbd(2*md_max), &
13436 pbc(2*mc_max), pad(2*md_max), pac(2*mc_max), prim(2*2*mc_max*md_max), scale
13438 INTEGER :: ma, mb, mc, md, p_index
13439 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
13441 kbd(1:2*md_max) = 0.0_dp
13442 kbc(1:2*mc_max) = 0.0_dp
13443 kad(1:2*md_max) = 0.0_dp
13444 kac(1:2*mc_max) = 0.0_dp
13451 p_bd = pbd((md - 1)*2 + mb)
13452 p_bc =
pbc((mc - 1)*2 + mb)
13454 p_index = p_index + 1
13455 tmp = scale*prim(p_index)
13456 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
13457 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
13458 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
13459 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
13461 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
13462 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
13466 END SUBROUTINE block_2_2
13480 SUBROUTINE block_2_3_1_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
13481 REAL(kind=
dp) :: kbd(3*1), kbc(3*1), kad(2*1), kac(2*1), &
13482 pbd(3*1),
pbc(3*1), pad(2*1), &
13483 pac(2*1), prim(2*3*1*1), scale
13485 INTEGER :: ma, mb, mc, md, p_index
13486 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
13488 kbd(1:3*1) = 0.0_dp
13489 kbc(1:3*1) = 0.0_dp
13490 kad(1:2*1) = 0.0_dp
13491 kac(1:2*1) = 0.0_dp
13498 p_bd = pbd((md - 1)*3 + mb)
13499 p_bc =
pbc((mc - 1)*3 + mb)
13501 p_index = p_index + 1
13502 tmp = scale*prim(p_index)
13503 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
13504 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
13505 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
13506 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
13508 kbd((md - 1)*3 + mb) = kbd((md - 1)*3 + mb) - ks_bd
13509 kbc((mc - 1)*3 + mb) = kbc((mc - 1)*3 + mb) - ks_bc
13513 END SUBROUTINE block_2_3_1_1
13527 SUBROUTINE block_2_3_1_2(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
13528 REAL(kind=
dp) :: kbd(3*2), kbc(3*1), kad(2*2), kac(2*1), &
13529 pbd(3*2),
pbc(3*1), pad(2*2), &
13530 pac(2*1), prim(2*3*1*2), scale
13532 INTEGER :: ma, mb, mc, md, p_index
13533 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
13535 kbd(1:3*2) = 0.0_dp
13536 kbc(1:3*1) = 0.0_dp
13537 kad(1:2*2) = 0.0_dp
13538 kac(1:2*1) = 0.0_dp
13545 p_bd = pbd((md - 1)*3 + mb)
13546 p_bc =
pbc((mc - 1)*3 + mb)
13548 p_index = p_index + 1
13549 tmp = scale*prim(p_index)
13550 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
13551 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
13552 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
13553 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
13555 kbd((md - 1)*3 + mb) = kbd((md - 1)*3 + mb) - ks_bd
13556 kbc((mc - 1)*3 + mb) = kbc((mc - 1)*3 + mb) - ks_bc
13560 END SUBROUTINE block_2_3_1_2
13574 SUBROUTINE block_2_3_1_3(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
13575 REAL(kind=
dp) :: kbd(3*3), kbc(3*1), kad(2*3), kac(2*1), &
13576 pbd(3*3),
pbc(3*1), pad(2*3), &
13577 pac(2*1), prim(2*3*1*3), scale
13579 INTEGER :: ma, mb, mc, md, p_index
13580 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
13582 kbd(1:3*3) = 0.0_dp
13583 kbc(1:3*1) = 0.0_dp
13584 kad(1:2*3) = 0.0_dp
13585 kac(1:2*1) = 0.0_dp
13592 p_bd = pbd((md - 1)*3 + mb)
13593 p_bc =
pbc((mc - 1)*3 + mb)
13595 p_index = p_index + 1
13596 tmp = scale*prim(p_index)
13597 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
13598 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
13599 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
13600 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
13602 kbd((md - 1)*3 + mb) = kbd((md - 1)*3 + mb) - ks_bd
13603 kbc((mc - 1)*3 + mb) = kbc((mc - 1)*3 + mb) - ks_bc
13607 END SUBROUTINE block_2_3_1_3
13622 SUBROUTINE block_2_3_1(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
13624 REAL(kind=
dp) :: kbd(3*md_max), kbc(3*1), kad(2*md_max), kac(2*1), pbd(3*md_max),
pbc(3*1), &
13625 pad(2*md_max), pac(2*1), prim(2*3*1*md_max), scale
13627 INTEGER :: ma, mb, mc, md, p_index
13628 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
13630 kbd(1:3*md_max) = 0.0_dp
13631 kbc(1:3*1) = 0.0_dp
13632 kad(1:2*md_max) = 0.0_dp
13633 kac(1:2*1) = 0.0_dp
13640 p_bd = pbd((md - 1)*3 + mb)
13641 p_bc =
pbc((mc - 1)*3 + mb)
13643 p_index = p_index + 1
13644 tmp = scale*prim(p_index)
13645 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
13646 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
13647 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
13648 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
13650 kbd((md - 1)*3 + mb) = kbd((md - 1)*3 + mb) - ks_bd
13651 kbc((mc - 1)*3 + mb) = kbc((mc - 1)*3 + mb) - ks_bc
13655 END SUBROUTINE block_2_3_1
13669 SUBROUTINE block_2_3_2_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
13670 REAL(kind=
dp) :: kbd(3*1), kbc(3*2), kad(2*1), kac(2*2), &
13671 pbd(3*1),
pbc(3*2), pad(2*1), &
13672 pac(2*2), prim(2*3*2*1), scale
13674 INTEGER :: ma, mb, mc, md, p_index
13675 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
13677 kbd(1:3*1) = 0.0_dp
13678 kbc(1:3*2) = 0.0_dp
13679 kad(1:2*1) = 0.0_dp
13680 kac(1:2*2) = 0.0_dp
13687 p_bd = pbd((md - 1)*3 + mb)
13688 p_bc =
pbc((mc - 1)*3 + mb)
13690 p_index = p_index + 1
13691 tmp = scale*prim(p_index)
13692 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
13693 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
13694 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
13695 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
13697 kbd((md - 1)*3 + mb) = kbd((md - 1)*3 + mb) - ks_bd
13698 kbc((mc - 1)*3 + mb) = kbc((mc - 1)*3 + mb) - ks_bc
13702 END SUBROUTINE block_2_3_2_1
13717 SUBROUTINE block_2_3_2(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
13719 REAL(kind=
dp) :: kbd(3*md_max), kbc(3*2), kad(2*md_max), kac(2*2), pbd(3*md_max),
pbc(3*2), &
13720 pad(2*md_max), pac(2*2), prim(2*3*2*md_max), scale
13722 INTEGER :: ma, mb, mc, md, p_index
13723 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
13725 kbd(1:3*md_max) = 0.0_dp
13726 kbc(1:3*2) = 0.0_dp
13727 kad(1:2*md_max) = 0.0_dp
13728 kac(1:2*2) = 0.0_dp
13735 p_bd = pbd((md - 1)*3 + mb)
13736 p_bc =
pbc((mc - 1)*3 + mb)
13738 p_index = p_index + 1
13739 tmp = scale*prim(p_index)
13740 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
13741 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
13742 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
13743 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
13745 kbd((md - 1)*3 + mb) = kbd((md - 1)*3 + mb) - ks_bd
13746 kbc((mc - 1)*3 + mb) = kbc((mc - 1)*3 + mb) - ks_bc
13750 END SUBROUTINE block_2_3_2
13764 SUBROUTINE block_2_3_3_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
13765 REAL(kind=
dp) :: kbd(3*1), kbc(3*3), kad(2*1), kac(2*3), &
13766 pbd(3*1),
pbc(3*3), pad(2*1), &
13767 pac(2*3), prim(2*3*3*1), scale
13769 INTEGER :: ma, mb, mc, md, p_index
13770 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
13772 kbd(1:3*1) = 0.0_dp
13773 kbc(1:3*3) = 0.0_dp
13774 kad(1:2*1) = 0.0_dp
13775 kac(1:2*3) = 0.0_dp
13782 p_bd = pbd((md - 1)*3 + mb)
13783 p_bc =
pbc((mc - 1)*3 + mb)
13785 p_index = p_index + 1
13786 tmp = scale*prim(p_index)
13787 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
13788 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
13789 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
13790 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
13792 kbd((md - 1)*3 + mb) = kbd((md - 1)*3 + mb) - ks_bd
13793 kbc((mc - 1)*3 + mb) = kbc((mc - 1)*3 + mb) - ks_bc
13797 END SUBROUTINE block_2_3_3_1
13812 SUBROUTINE block_2_3_3(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
13814 REAL(kind=
dp) :: kbd(3*md_max), kbc(3*3), kad(2*md_max), kac(2*3), pbd(3*md_max),
pbc(3*3), &
13815 pad(2*md_max), pac(2*3), prim(2*3*3*md_max), scale
13817 INTEGER :: ma, mb, mc, md, p_index
13818 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
13820 kbd(1:3*md_max) = 0.0_dp
13821 kbc(1:3*3) = 0.0_dp
13822 kad(1:2*md_max) = 0.0_dp
13823 kac(1:2*3) = 0.0_dp
13830 p_bd = pbd((md - 1)*3 + mb)
13831 p_bc =
pbc((mc - 1)*3 + mb)
13833 p_index = p_index + 1
13834 tmp = scale*prim(p_index)
13835 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
13836 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
13837 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
13838 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
13840 kbd((md - 1)*3 + mb) = kbd((md - 1)*3 + mb) - ks_bd
13841 kbc((mc - 1)*3 + mb) = kbc((mc - 1)*3 + mb) - ks_bc
13845 END SUBROUTINE block_2_3_3
13861 SUBROUTINE block_2_3(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
13862 INTEGER :: mc_max, md_max
13863 REAL(kind=
dp) :: kbd(3*md_max), kbc(3*mc_max), kad(2*md_max), kac(2*mc_max), pbd(3*md_max), &
13864 pbc(3*mc_max), pad(2*md_max), pac(2*mc_max), prim(2*3*mc_max*md_max), scale
13866 INTEGER :: ma, mb, mc, md, p_index
13867 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
13869 kbd(1:3*md_max) = 0.0_dp
13870 kbc(1:3*mc_max) = 0.0_dp
13871 kad(1:2*md_max) = 0.0_dp
13872 kac(1:2*mc_max) = 0.0_dp
13879 p_bd = pbd((md - 1)*3 + mb)
13880 p_bc =
pbc((mc - 1)*3 + mb)
13882 p_index = p_index + 1
13883 tmp = scale*prim(p_index)
13884 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
13885 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
13886 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
13887 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
13889 kbd((md - 1)*3 + mb) = kbd((md - 1)*3 + mb) - ks_bd
13890 kbc((mc - 1)*3 + mb) = kbc((mc - 1)*3 + mb) - ks_bc
13894 END SUBROUTINE block_2_3
13908 SUBROUTINE block_2_4_1_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
13909 REAL(kind=
dp) :: kbd(4*1), kbc(4*1), kad(2*1), kac(2*1), &
13910 pbd(4*1),
pbc(4*1), pad(2*1), &
13911 pac(2*1), prim(2*4*1*1), scale
13913 INTEGER :: ma, mb, mc, md, p_index
13914 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
13916 kbd(1:4*1) = 0.0_dp
13917 kbc(1:4*1) = 0.0_dp
13918 kad(1:2*1) = 0.0_dp
13919 kac(1:2*1) = 0.0_dp
13926 p_bd = pbd((md - 1)*4 + mb)
13927 p_bc =
pbc((mc - 1)*4 + mb)
13929 p_index = p_index + 1
13930 tmp = scale*prim(p_index)
13931 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
13932 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
13933 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
13934 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
13936 kbd((md - 1)*4 + mb) = kbd((md - 1)*4 + mb) - ks_bd
13937 kbc((mc - 1)*4 + mb) = kbc((mc - 1)*4 + mb) - ks_bc
13941 END SUBROUTINE block_2_4_1_1
13955 SUBROUTINE block_2_4_1_2(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
13956 REAL(kind=
dp) :: kbd(4*2), kbc(4*1), kad(2*2), kac(2*1), &
13957 pbd(4*2),
pbc(4*1), pad(2*2), &
13958 pac(2*1), prim(2*4*1*2), scale
13960 INTEGER :: ma, mb, mc, md, p_index
13961 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
13963 kbd(1:4*2) = 0.0_dp
13964 kbc(1:4*1) = 0.0_dp
13965 kad(1:2*2) = 0.0_dp
13966 kac(1:2*1) = 0.0_dp
13973 p_bd = pbd((md - 1)*4 + mb)
13974 p_bc =
pbc((mc - 1)*4 + mb)
13976 p_index = p_index + 1
13977 tmp = scale*prim(p_index)
13978 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
13979 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
13980 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
13981 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
13983 kbd((md - 1)*4 + mb) = kbd((md - 1)*4 + mb) - ks_bd
13984 kbc((mc - 1)*4 + mb) = kbc((mc - 1)*4 + mb) - ks_bc
13988 END SUBROUTINE block_2_4_1_2
14003 SUBROUTINE block_2_4_1(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
14005 REAL(kind=
dp) :: kbd(4*md_max), kbc(4*1), kad(2*md_max), kac(2*1), pbd(4*md_max),
pbc(4*1), &
14006 pad(2*md_max), pac(2*1), prim(2*4*1*md_max), scale
14008 INTEGER :: ma, mb, mc, md, p_index
14009 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
14011 kbd(1:4*md_max) = 0.0_dp
14012 kbc(1:4*1) = 0.0_dp
14013 kad(1:2*md_max) = 0.0_dp
14014 kac(1:2*1) = 0.0_dp
14021 p_bd = pbd((md - 1)*4 + mb)
14022 p_bc =
pbc((mc - 1)*4 + mb)
14024 p_index = p_index + 1
14025 tmp = scale*prim(p_index)
14026 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
14027 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
14028 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
14029 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
14031 kbd((md - 1)*4 + mb) = kbd((md - 1)*4 + mb) - ks_bd
14032 kbc((mc - 1)*4 + mb) = kbc((mc - 1)*4 + mb) - ks_bc
14036 END SUBROUTINE block_2_4_1
14050 SUBROUTINE block_2_4_2_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
14051 REAL(kind=
dp) :: kbd(4*1), kbc(4*2), kad(2*1), kac(2*2), &
14052 pbd(4*1),
pbc(4*2), pad(2*1), &
14053 pac(2*2), prim(2*4*2*1), scale
14055 INTEGER :: ma, mb, mc, md, p_index
14056 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
14058 kbd(1:4*1) = 0.0_dp
14059 kbc(1:4*2) = 0.0_dp
14060 kad(1:2*1) = 0.0_dp
14061 kac(1:2*2) = 0.0_dp
14068 p_bd = pbd((md - 1)*4 + mb)
14069 p_bc =
pbc((mc - 1)*4 + mb)
14071 p_index = p_index + 1
14072 tmp = scale*prim(p_index)
14073 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
14074 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
14075 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
14076 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
14078 kbd((md - 1)*4 + mb) = kbd((md - 1)*4 + mb) - ks_bd
14079 kbc((mc - 1)*4 + mb) = kbc((mc - 1)*4 + mb) - ks_bc
14083 END SUBROUTINE block_2_4_2_1
14098 SUBROUTINE block_2_4_2(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
14100 REAL(kind=
dp) :: kbd(4*md_max), kbc(4*2), kad(2*md_max), kac(2*2), pbd(4*md_max),
pbc(4*2), &
14101 pad(2*md_max), pac(2*2), prim(2*4*2*md_max), scale
14103 INTEGER :: ma, mb, mc, md, p_index
14104 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
14106 kbd(1:4*md_max) = 0.0_dp
14107 kbc(1:4*2) = 0.0_dp
14108 kad(1:2*md_max) = 0.0_dp
14109 kac(1:2*2) = 0.0_dp
14116 p_bd = pbd((md - 1)*4 + mb)
14117 p_bc =
pbc((mc - 1)*4 + mb)
14119 p_index = p_index + 1
14120 tmp = scale*prim(p_index)
14121 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
14122 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
14123 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
14124 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
14126 kbd((md - 1)*4 + mb) = kbd((md - 1)*4 + mb) - ks_bd
14127 kbc((mc - 1)*4 + mb) = kbc((mc - 1)*4 + mb) - ks_bc
14131 END SUBROUTINE block_2_4_2
14147 SUBROUTINE block_2_4(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
14148 INTEGER :: mc_max, md_max
14149 REAL(kind=
dp) :: kbd(4*md_max), kbc(4*mc_max), kad(2*md_max), kac(2*mc_max), pbd(4*md_max), &
14150 pbc(4*mc_max), pad(2*md_max), pac(2*mc_max), prim(2*4*mc_max*md_max), scale
14152 INTEGER :: ma, mb, mc, md, p_index
14153 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
14155 kbd(1:4*md_max) = 0.0_dp
14156 kbc(1:4*mc_max) = 0.0_dp
14157 kad(1:2*md_max) = 0.0_dp
14158 kac(1:2*mc_max) = 0.0_dp
14165 p_bd = pbd((md - 1)*4 + mb)
14166 p_bc =
pbc((mc - 1)*4 + mb)
14168 p_index = p_index + 1
14169 tmp = scale*prim(p_index)
14170 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
14171 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
14172 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
14173 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
14175 kbd((md - 1)*4 + mb) = kbd((md - 1)*4 + mb) - ks_bd
14176 kbc((mc - 1)*4 + mb) = kbc((mc - 1)*4 + mb) - ks_bc
14180 END SUBROUTINE block_2_4
14194 SUBROUTINE block_2_5_1_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
14195 REAL(kind=
dp) :: kbd(5*1), kbc(5*1), kad(2*1), kac(2*1), &
14196 pbd(5*1),
pbc(5*1), pad(2*1), &
14197 pac(2*1), prim(2*5*1*1), scale
14199 INTEGER :: ma, mb, mc, md, p_index
14200 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
14202 kbd(1:5*1) = 0.0_dp
14203 kbc(1:5*1) = 0.0_dp
14204 kad(1:2*1) = 0.0_dp
14205 kac(1:2*1) = 0.0_dp
14212 p_bd = pbd((md - 1)*5 + mb)
14213 p_bc =
pbc((mc - 1)*5 + mb)
14215 p_index = p_index + 1
14216 tmp = scale*prim(p_index)
14217 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
14218 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
14219 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
14220 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
14222 kbd((md - 1)*5 + mb) = kbd((md - 1)*5 + mb) - ks_bd
14223 kbc((mc - 1)*5 + mb) = kbc((mc - 1)*5 + mb) - ks_bc
14227 END SUBROUTINE block_2_5_1_1
14242 SUBROUTINE block_2_5_1(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
14244 REAL(kind=
dp) :: kbd(5*md_max), kbc(5*1), kad(2*md_max), kac(2*1), pbd(5*md_max),
pbc(5*1), &
14245 pad(2*md_max), pac(2*1), prim(2*5*1*md_max), scale
14247 INTEGER :: ma, mb, mc, md, p_index
14248 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
14250 kbd(1:5*md_max) = 0.0_dp
14251 kbc(1:5*1) = 0.0_dp
14252 kad(1:2*md_max) = 0.0_dp
14253 kac(1:2*1) = 0.0_dp
14260 p_bd = pbd((md - 1)*5 + mb)
14261 p_bc =
pbc((mc - 1)*5 + mb)
14263 p_index = p_index + 1
14264 tmp = scale*prim(p_index)
14265 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
14266 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
14267 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
14268 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
14270 kbd((md - 1)*5 + mb) = kbd((md - 1)*5 + mb) - ks_bd
14271 kbc((mc - 1)*5 + mb) = kbc((mc - 1)*5 + mb) - ks_bc
14275 END SUBROUTINE block_2_5_1
14291 SUBROUTINE block_2_5(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
14292 INTEGER :: mc_max, md_max
14293 REAL(kind=
dp) :: kbd(5*md_max), kbc(5*mc_max), kad(2*md_max), kac(2*mc_max), pbd(5*md_max), &
14294 pbc(5*mc_max), pad(2*md_max), pac(2*mc_max), prim(2*5*mc_max*md_max), scale
14296 INTEGER :: ma, mb, mc, md, p_index
14297 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
14299 kbd(1:5*md_max) = 0.0_dp
14300 kbc(1:5*mc_max) = 0.0_dp
14301 kad(1:2*md_max) = 0.0_dp
14302 kac(1:2*mc_max) = 0.0_dp
14309 p_bd = pbd((md - 1)*5 + mb)
14310 p_bc =
pbc((mc - 1)*5 + mb)
14312 p_index = p_index + 1
14313 tmp = scale*prim(p_index)
14314 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
14315 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
14316 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
14317 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
14319 kbd((md - 1)*5 + mb) = kbd((md - 1)*5 + mb) - ks_bd
14320 kbc((mc - 1)*5 + mb) = kbc((mc - 1)*5 + mb) - ks_bc
14324 END SUBROUTINE block_2_5
14338 SUBROUTINE block_2_6_1_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
14339 REAL(kind=
dp) :: kbd(6*1), kbc(6*1), kad(2*1), kac(2*1), &
14340 pbd(6*1),
pbc(6*1), pad(2*1), &
14341 pac(2*1), prim(2*6*1*1), scale
14343 INTEGER :: ma, mb, mc, md, p_index
14344 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
14346 kbd(1:6*1) = 0.0_dp
14347 kbc(1:6*1) = 0.0_dp
14348 kad(1:2*1) = 0.0_dp
14349 kac(1:2*1) = 0.0_dp
14356 p_bd = pbd((md - 1)*6 + mb)
14357 p_bc =
pbc((mc - 1)*6 + mb)
14359 p_index = p_index + 1
14360 tmp = scale*prim(p_index)
14361 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
14362 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
14363 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
14364 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
14366 kbd((md - 1)*6 + mb) = kbd((md - 1)*6 + mb) - ks_bd
14367 kbc((mc - 1)*6 + mb) = kbc((mc - 1)*6 + mb) - ks_bc
14371 END SUBROUTINE block_2_6_1_1
14386 SUBROUTINE block_2_6_1(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
14388 REAL(kind=
dp) :: kbd(6*md_max), kbc(6*1), kad(2*md_max), kac(2*1), pbd(6*md_max),
pbc(6*1), &
14389 pad(2*md_max), pac(2*1), prim(2*6*1*md_max), scale
14391 INTEGER :: ma, mb, mc, md, p_index
14392 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
14394 kbd(1:6*md_max) = 0.0_dp
14395 kbc(1:6*1) = 0.0_dp
14396 kad(1:2*md_max) = 0.0_dp
14397 kac(1:2*1) = 0.0_dp
14404 p_bd = pbd((md - 1)*6 + mb)
14405 p_bc =
pbc((mc - 1)*6 + mb)
14407 p_index = p_index + 1
14408 tmp = scale*prim(p_index)
14409 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
14410 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
14411 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
14412 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
14414 kbd((md - 1)*6 + mb) = kbd((md - 1)*6 + mb) - ks_bd
14415 kbc((mc - 1)*6 + mb) = kbc((mc - 1)*6 + mb) - ks_bc
14419 END SUBROUTINE block_2_6_1
14435 SUBROUTINE block_2_6(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
14436 INTEGER :: mc_max, md_max
14437 REAL(kind=
dp) :: kbd(6*md_max), kbc(6*mc_max), kad(2*md_max), kac(2*mc_max), pbd(6*md_max), &
14438 pbc(6*mc_max), pad(2*md_max), pac(2*mc_max), prim(2*6*mc_max*md_max), scale
14440 INTEGER :: ma, mb, mc, md, p_index
14441 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
14443 kbd(1:6*md_max) = 0.0_dp
14444 kbc(1:6*mc_max) = 0.0_dp
14445 kad(1:2*md_max) = 0.0_dp
14446 kac(1:2*mc_max) = 0.0_dp
14453 p_bd = pbd((md - 1)*6 + mb)
14454 p_bc =
pbc((mc - 1)*6 + mb)
14456 p_index = p_index + 1
14457 tmp = scale*prim(p_index)
14458 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
14459 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
14460 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
14461 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
14463 kbd((md - 1)*6 + mb) = kbd((md - 1)*6 + mb) - ks_bd
14464 kbc((mc - 1)*6 + mb) = kbc((mc - 1)*6 + mb) - ks_bc
14468 END SUBROUTINE block_2_6
14482 SUBROUTINE block_2_7_1_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
14483 REAL(kind=
dp) :: kbd(7*1), kbc(7*1), kad(2*1), kac(2*1), &
14484 pbd(7*1),
pbc(7*1), pad(2*1), &
14485 pac(2*1), prim(2*7*1*1), scale
14487 INTEGER :: ma, mb, mc, md, p_index
14488 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
14490 kbd(1:7*1) = 0.0_dp
14491 kbc(1:7*1) = 0.0_dp
14492 kad(1:2*1) = 0.0_dp
14493 kac(1:2*1) = 0.0_dp
14500 p_bd = pbd((md - 1)*7 + mb)
14501 p_bc =
pbc((mc - 1)*7 + mb)
14503 p_index = p_index + 1
14504 tmp = scale*prim(p_index)
14505 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
14506 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
14507 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
14508 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
14510 kbd((md - 1)*7 + mb) = kbd((md - 1)*7 + mb) - ks_bd
14511 kbc((mc - 1)*7 + mb) = kbc((mc - 1)*7 + mb) - ks_bc
14515 END SUBROUTINE block_2_7_1_1
14530 SUBROUTINE block_2_7_1(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
14532 REAL(kind=
dp) :: kbd(7*md_max), kbc(7*1), kad(2*md_max), kac(2*1), pbd(7*md_max),
pbc(7*1), &
14533 pad(2*md_max), pac(2*1), prim(2*7*1*md_max), scale
14535 INTEGER :: ma, mb, mc, md, p_index
14536 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
14538 kbd(1:7*md_max) = 0.0_dp
14539 kbc(1:7*1) = 0.0_dp
14540 kad(1:2*md_max) = 0.0_dp
14541 kac(1:2*1) = 0.0_dp
14548 p_bd = pbd((md - 1)*7 + mb)
14549 p_bc =
pbc((mc - 1)*7 + mb)
14551 p_index = p_index + 1
14552 tmp = scale*prim(p_index)
14553 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
14554 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
14555 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
14556 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
14558 kbd((md - 1)*7 + mb) = kbd((md - 1)*7 + mb) - ks_bd
14559 kbc((mc - 1)*7 + mb) = kbc((mc - 1)*7 + mb) - ks_bc
14563 END SUBROUTINE block_2_7_1
14579 SUBROUTINE block_2_7(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
14580 INTEGER :: mc_max, md_max
14581 REAL(kind=
dp) :: kbd(7*md_max), kbc(7*mc_max), kad(2*md_max), kac(2*mc_max), pbd(7*md_max), &
14582 pbc(7*mc_max), pad(2*md_max), pac(2*mc_max), prim(2*7*mc_max*md_max), scale
14584 INTEGER :: ma, mb, mc, md, p_index
14585 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
14587 kbd(1:7*md_max) = 0.0_dp
14588 kbc(1:7*mc_max) = 0.0_dp
14589 kad(1:2*md_max) = 0.0_dp
14590 kac(1:2*mc_max) = 0.0_dp
14597 p_bd = pbd((md - 1)*7 + mb)
14598 p_bc =
pbc((mc - 1)*7 + mb)
14600 p_index = p_index + 1
14601 tmp = scale*prim(p_index)
14602 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
14603 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
14604 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
14605 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
14607 kbd((md - 1)*7 + mb) = kbd((md - 1)*7 + mb) - ks_bd
14608 kbc((mc - 1)*7 + mb) = kbc((mc - 1)*7 + mb) - ks_bc
14612 END SUBROUTINE block_2_7
14626 SUBROUTINE block_2_9_1_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
14627 REAL(kind=
dp) :: kbd(9*1), kbc(9*1), kad(2*1), kac(2*1), &
14628 pbd(9*1),
pbc(9*1), pad(2*1), &
14629 pac(2*1), prim(2*9*1*1), scale
14631 INTEGER :: ma, mb, mc, md, p_index
14632 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
14634 kbd(1:9*1) = 0.0_dp
14635 kbc(1:9*1) = 0.0_dp
14636 kad(1:2*1) = 0.0_dp
14637 kac(1:2*1) = 0.0_dp
14644 p_bd = pbd((md - 1)*9 + mb)
14645 p_bc =
pbc((mc - 1)*9 + mb)
14647 p_index = p_index + 1
14648 tmp = scale*prim(p_index)
14649 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
14650 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
14651 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
14652 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
14654 kbd((md - 1)*9 + mb) = kbd((md - 1)*9 + mb) - ks_bd
14655 kbc((mc - 1)*9 + mb) = kbc((mc - 1)*9 + mb) - ks_bc
14659 END SUBROUTINE block_2_9_1_1
14674 SUBROUTINE block_2_9_1(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
14676 REAL(kind=
dp) :: kbd(9*md_max), kbc(9*1), kad(2*md_max), kac(2*1), pbd(9*md_max),
pbc(9*1), &
14677 pad(2*md_max), pac(2*1), prim(2*9*1*md_max), scale
14679 INTEGER :: ma, mb, mc, md, p_index
14680 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
14682 kbd(1:9*md_max) = 0.0_dp
14683 kbc(1:9*1) = 0.0_dp
14684 kad(1:2*md_max) = 0.0_dp
14685 kac(1:2*1) = 0.0_dp
14692 p_bd = pbd((md - 1)*9 + mb)
14693 p_bc =
pbc((mc - 1)*9 + mb)
14695 p_index = p_index + 1
14696 tmp = scale*prim(p_index)
14697 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
14698 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
14699 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
14700 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
14702 kbd((md - 1)*9 + mb) = kbd((md - 1)*9 + mb) - ks_bd
14703 kbc((mc - 1)*9 + mb) = kbc((mc - 1)*9 + mb) - ks_bc
14707 END SUBROUTINE block_2_9_1
14723 SUBROUTINE block_2_9(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
14724 INTEGER :: mc_max, md_max
14725 REAL(kind=
dp) :: kbd(9*md_max), kbc(9*mc_max), kad(2*md_max), kac(2*mc_max), pbd(9*md_max), &
14726 pbc(9*mc_max), pad(2*md_max), pac(2*mc_max), prim(2*9*mc_max*md_max), scale
14728 INTEGER :: ma, mb, mc, md, p_index
14729 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
14731 kbd(1:9*md_max) = 0.0_dp
14732 kbc(1:9*mc_max) = 0.0_dp
14733 kad(1:2*md_max) = 0.0_dp
14734 kac(1:2*mc_max) = 0.0_dp
14741 p_bd = pbd((md - 1)*9 + mb)
14742 p_bc =
pbc((mc - 1)*9 + mb)
14744 p_index = p_index + 1
14745 tmp = scale*prim(p_index)
14746 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
14747 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
14748 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
14749 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
14751 kbd((md - 1)*9 + mb) = kbd((md - 1)*9 + mb) - ks_bd
14752 kbc((mc - 1)*9 + mb) = kbc((mc - 1)*9 + mb) - ks_bc
14756 END SUBROUTINE block_2_9
14772 SUBROUTINE block_2_10(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
14773 INTEGER :: mc_max, md_max
14774 REAL(kind=
dp) :: kbd(10*md_max), kbc(10*mc_max), kad(2*md_max), kac(2*mc_max), &
14775 pbd(10*md_max),
pbc(10*mc_max), pad(2*md_max), pac(2*mc_max), prim(2*10*mc_max*md_max), &
14778 INTEGER :: ma, mb, mc, md, p_index
14779 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
14781 kbd(1:10*md_max) = 0.0_dp
14782 kbc(1:10*mc_max) = 0.0_dp
14783 kad(1:2*md_max) = 0.0_dp
14784 kac(1:2*mc_max) = 0.0_dp
14791 p_bd = pbd((md - 1)*10 + mb)
14792 p_bc =
pbc((mc - 1)*10 + mb)
14794 p_index = p_index + 1
14795 tmp = scale*prim(p_index)
14796 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
14797 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
14798 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
14799 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
14801 kbd((md - 1)*10 + mb) = kbd((md - 1)*10 + mb) - ks_bd
14802 kbc((mc - 1)*10 + mb) = kbc((mc - 1)*10 + mb) - ks_bc
14806 END SUBROUTINE block_2_10
14822 SUBROUTINE block_2_11(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
14823 INTEGER :: mc_max, md_max
14824 REAL(kind=
dp) :: kbd(11*md_max), kbc(11*mc_max), kad(2*md_max), kac(2*mc_max), &
14825 pbd(11*md_max),
pbc(11*mc_max), pad(2*md_max), pac(2*mc_max), prim(2*11*mc_max*md_max), &
14828 INTEGER :: ma, mb, mc, md, p_index
14829 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
14831 kbd(1:11*md_max) = 0.0_dp
14832 kbc(1:11*mc_max) = 0.0_dp
14833 kad(1:2*md_max) = 0.0_dp
14834 kac(1:2*mc_max) = 0.0_dp
14841 p_bd = pbd((md - 1)*11 + mb)
14842 p_bc =
pbc((mc - 1)*11 + mb)
14844 p_index = p_index + 1
14845 tmp = scale*prim(p_index)
14846 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
14847 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
14848 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
14849 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
14851 kbd((md - 1)*11 + mb) = kbd((md - 1)*11 + mb) - ks_bd
14852 kbc((mc - 1)*11 + mb) = kbc((mc - 1)*11 + mb) - ks_bc
14856 END SUBROUTINE block_2_11
14872 SUBROUTINE block_2_15(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
14873 INTEGER :: mc_max, md_max
14874 REAL(kind=
dp) :: kbd(15*md_max), kbc(15*mc_max), kad(2*md_max), kac(2*mc_max), &
14875 pbd(15*md_max),
pbc(15*mc_max), pad(2*md_max), pac(2*mc_max), prim(2*15*mc_max*md_max), &
14878 INTEGER :: ma, mb, mc, md, p_index
14879 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
14881 kbd(1:15*md_max) = 0.0_dp
14882 kbc(1:15*mc_max) = 0.0_dp
14883 kad(1:2*md_max) = 0.0_dp
14884 kac(1:2*mc_max) = 0.0_dp
14891 p_bd = pbd((md - 1)*15 + mb)
14892 p_bc =
pbc((mc - 1)*15 + mb)
14894 p_index = p_index + 1
14895 tmp = scale*prim(p_index)
14896 ks_bc = ks_bc + tmp*pad((md - 1)*2 + ma)
14897 ks_bd = ks_bd + tmp*pac((mc - 1)*2 + ma)
14898 kad((md - 1)*2 + ma) = kad((md - 1)*2 + ma) - tmp*p_bc
14899 kac((mc - 1)*2 + ma) = kac((mc - 1)*2 + ma) - tmp*p_bd
14901 kbd((md - 1)*15 + mb) = kbd((md - 1)*15 + mb) - ks_bd
14902 kbc((mc - 1)*15 + mb) = kbc((mc - 1)*15 + mb) - ks_bc
14906 END SUBROUTINE block_2_15
14920 SUBROUTINE block_3_1_1_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
14921 REAL(kind=
dp) :: kbd(1*1), kbc(1*1), kad(3*1), kac(3*1), &
14922 pbd(1*1),
pbc(1*1), pad(3*1), &
14923 pac(3*1), prim(3*1*1*1), scale
14925 INTEGER :: ma, mb, mc, md, p_index
14926 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
14928 kbd(1:1*1) = 0.0_dp
14929 kbc(1:1*1) = 0.0_dp
14930 kad(1:3*1) = 0.0_dp
14931 kac(1:3*1) = 0.0_dp
14938 p_bd = pbd((md - 1)*1 + mb)
14939 p_bc =
pbc((mc - 1)*1 + mb)
14941 p_index = p_index + 1
14942 tmp = scale*prim(p_index)
14943 ks_bc = ks_bc + tmp*pad((md - 1)*3 + ma)
14944 ks_bd = ks_bd + tmp*pac((mc - 1)*3 + ma)
14945 kad((md - 1)*3 + ma) = kad((md - 1)*3 + ma) - tmp*p_bc
14946 kac((mc - 1)*3 + ma) = kac((mc - 1)*3 + ma) - tmp*p_bd
14948 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
14949 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
14953 END SUBROUTINE block_3_1_1_1
14967 SUBROUTINE block_3_1_1_2(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
14968 REAL(kind=
dp) :: kbd(1*2), kbc(1*1), kad(3*2), kac(3*1), &
14969 pbd(1*2),
pbc(1*1), pad(3*2), &
14970 pac(3*1), prim(3*1*1*2), scale
14972 INTEGER :: ma, mb, mc, md, p_index
14973 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
14975 kbd(1:1*2) = 0.0_dp
14976 kbc(1:1*1) = 0.0_dp
14977 kad(1:3*2) = 0.0_dp
14978 kac(1:3*1) = 0.0_dp
14985 p_bd = pbd((md - 1)*1 + mb)
14986 p_bc =
pbc((mc - 1)*1 + mb)
14988 p_index = p_index + 1
14989 tmp = scale*prim(p_index)
14990 ks_bc = ks_bc + tmp*pad((md - 1)*3 + ma)
14991 ks_bd = ks_bd + tmp*pac((mc - 1)*3 + ma)
14992 kad((md - 1)*3 + ma) = kad((md - 1)*3 + ma) - tmp*p_bc
14993 kac((mc - 1)*3 + ma) = kac((mc - 1)*3 + ma) - tmp*p_bd
14995 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
14996 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
15000 END SUBROUTINE block_3_1_1_2
15014 SUBROUTINE block_3_1_1_3(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
15015 REAL(kind=
dp) :: kbd(1*3), kbc(1*1), kad(3*3), kac(3*1), &
15016 pbd(1*3),
pbc(1*1), pad(3*3), &
15017 pac(3*1), prim(3*1*1*3), scale
15019 INTEGER :: ma, mb, mc, md, p_index
15020 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
15022 kbd(1:1*3) = 0.0_dp
15023 kbc(1:1*1) = 0.0_dp
15024 kad(1:3*3) = 0.0_dp
15025 kac(1:3*1) = 0.0_dp
15032 p_bd = pbd((md - 1)*1 + mb)
15033 p_bc =
pbc((mc - 1)*1 + mb)
15035 p_index = p_index + 1
15036 tmp = scale*prim(p_index)
15037 ks_bc = ks_bc + tmp*pad((md - 1)*3 + ma)
15038 ks_bd = ks_bd + tmp*pac((mc - 1)*3 + ma)
15039 kad((md - 1)*3 + ma) = kad((md - 1)*3 + ma) - tmp*p_bc
15040 kac((mc - 1)*3 + ma) = kac((mc - 1)*3 + ma) - tmp*p_bd
15042 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
15043 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
15047 END SUBROUTINE block_3_1_1_3
15061 SUBROUTINE block_3_1_1_4(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
15062 REAL(kind=
dp) :: kbd(1*4), kbc(1*1), kad(3*4), kac(3*1), &
15063 pbd(1*4),
pbc(1*1), pad(3*4), &
15064 pac(3*1), prim(3*1*1*4), scale
15066 INTEGER :: ma, mb, mc, md, p_index
15067 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
15069 kbd(1:1*4) = 0.0_dp
15070 kbc(1:1*1) = 0.0_dp
15071 kad(1:3*4) = 0.0_dp
15072 kac(1:3*1) = 0.0_dp
15079 p_bd = pbd((md - 1)*1 + mb)
15080 p_bc =
pbc((mc - 1)*1 + mb)
15082 p_index = p_index + 1
15083 tmp = scale*prim(p_index)
15084 ks_bc = ks_bc + tmp*pad((md - 1)*3 + ma)
15085 ks_bd = ks_bd + tmp*pac((mc - 1)*3 + ma)
15086 kad((md - 1)*3 + ma) = kad((md - 1)*3 + ma) - tmp*p_bc
15087 kac((mc - 1)*3 + ma) = kac((mc - 1)*3 + ma) - tmp*p_bd
15089 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
15090 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
15094 END SUBROUTINE block_3_1_1_4
15108 SUBROUTINE block_3_1_1_5(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
15109 REAL(kind=
dp) :: kbd(1*5), kbc(1*1), kad(3*5), kac(3*1), &
15110 pbd(1*5),
pbc(1*1), pad(3*5), &
15111 pac(3*1), prim(3*1*1*5), scale
15113 INTEGER :: ma, mb, mc, md, p_index
15114 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
15116 kbd(1:1*5) = 0.0_dp
15117 kbc(1:1*1) = 0.0_dp
15118 kad(1:3*5) = 0.0_dp
15119 kac(1:3*1) = 0.0_dp
15126 p_bd = pbd((md - 1)*1 + mb)
15127 p_bc =
pbc((mc - 1)*1 + mb)
15129 p_index = p_index + 1
15130 tmp = scale*prim(p_index)
15131 ks_bc = ks_bc + tmp*pad((md - 1)*3 + ma)
15132 ks_bd = ks_bd + tmp*pac((mc - 1)*3 + ma)
15133 kad((md - 1)*3 + ma) = kad((md - 1)*3 + ma) - tmp*p_bc
15134 kac((mc - 1)*3 + ma) = kac((mc - 1)*3 + ma) - tmp*p_bd
15136 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
15137 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
15141 END SUBROUTINE block_3_1_1_5
15155 SUBROUTINE block_3_1_1_6(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
15156 REAL(kind=
dp) :: kbd(1*6), kbc(1*1), kad(3*6), kac(3*1), &
15157 pbd(1*6),
pbc(1*1), pad(3*6), &
15158 pac(3*1), prim(3*1*1*6), scale
15160 INTEGER :: ma, mb, mc, md, p_index
15161 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
15163 kbd(1:1*6) = 0.0_dp
15164 kbc(1:1*1) = 0.0_dp
15165 kad(1:3*6) = 0.0_dp
15166 kac(1:3*1) = 0.0_dp
15173 p_bd = pbd((md - 1)*1 + mb)
15174 p_bc =
pbc((mc - 1)*1 + mb)
15176 p_index = p_index + 1
15177 tmp = scale*prim(p_index)
15178 ks_bc = ks_bc + tmp*pad((md - 1)*3 + ma)
15179 ks_bd = ks_bd + tmp*pac((mc - 1)*3 + ma)
15180 kad((md - 1)*3 + ma) = kad((md - 1)*3 + ma) - tmp*p_bc
15181 kac((mc - 1)*3 + ma) = kac((mc - 1)*3 + ma) - tmp*p_bd
15183 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
15184 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
15188 END SUBROUTINE block_3_1_1_6
15203 SUBROUTINE block_3_1_1(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
15205 REAL(kind=
dp) :: kbd(1*md_max), kbc(1*1), kad(3*md_max), kac(3*1), pbd(1*md_max),
pbc(1*1), &
15206 pad(3*md_max), pac(3*1), prim(3*1*1*md_max), scale
15208 INTEGER :: ma, mb, mc, md, p_index
15209 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
15211 kbd(1:1*md_max) = 0.0_dp
15212 kbc(1:1*1) = 0.0_dp
15213 kad(1:3*md_max) = 0.0_dp
15214 kac(1:3*1) = 0.0_dp
15221 p_bd = pbd((md - 1)*1 + mb)
15222 p_bc =
pbc((mc - 1)*1 + mb)
15224 p_index = p_index + 1
15225 tmp = scale*prim(p_index)
15226 ks_bc = ks_bc + tmp*pad((md - 1)*3 + ma)
15227 ks_bd = ks_bd + tmp*pac((mc - 1)*3 + ma)
15228 kad((md - 1)*3 + ma) = kad((md - 1)*3 + ma) - tmp*p_bc
15229 kac((mc - 1)*3 + ma) = kac((mc - 1)*3 + ma) - tmp*p_bd
15231 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
15232 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
15236 END SUBROUTINE block_3_1_1
15250 SUBROUTINE block_3_1_2_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
15251 REAL(kind=
dp) :: kbd(1*1), kbc(1*2), kad(3*1), kac(3*2), &
15252 pbd(1*1),
pbc(1*2), pad(3*1), &
15253 pac(3*2), prim(3*1*2*1), scale
15255 INTEGER :: ma, mb, mc, md, p_index
15256 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
15258 kbd(1:1*1) = 0.0_dp
15259 kbc(1:1*2) = 0.0_dp
15260 kad(1:3*1) = 0.0_dp
15261 kac(1:3*2) = 0.0_dp
15268 p_bd = pbd((md - 1)*1 + mb)
15269 p_bc =
pbc((mc - 1)*1 + mb)
15271 p_index = p_index + 1
15272 tmp = scale*prim(p_index)
15273 ks_bc = ks_bc + tmp*pad((md - 1)*3 + ma)
15274 ks_bd = ks_bd + tmp*pac((mc - 1)*3 + ma)
15275 kad((md - 1)*3 + ma) = kad((md - 1)*3 + ma) - tmp*p_bc
15276 kac((mc - 1)*3 + ma) = kac((mc - 1)*3 + ma) - tmp*p_bd
15278 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
15279 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
15283 END SUBROUTINE block_3_1_2_1
15297 SUBROUTINE block_3_1_2_2(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
15298 REAL(kind=
dp) :: kbd(1*2), kbc(1*2), kad(3*2), kac(3*2), &
15299 pbd(1*2),
pbc(1*2), pad(3*2), &
15300 pac(3*2), prim(3*1*2*2), scale
15302 INTEGER :: ma, mb, mc, md, p_index
15303 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
15305 kbd(1:1*2) = 0.0_dp
15306 kbc(1:1*2) = 0.0_dp
15307 kad(1:3*2) = 0.0_dp
15308 kac(1:3*2) = 0.0_dp
15315 p_bd = pbd((md - 1)*1 + mb)
15316 p_bc =
pbc((mc - 1)*1 + mb)
15318 p_index = p_index + 1
15319 tmp = scale*prim(p_index)
15320 ks_bc = ks_bc + tmp*pad((md - 1)*3 + ma)
15321 ks_bd = ks_bd + tmp*pac((mc - 1)*3 + ma)
15322 kad((md - 1)*3 + ma) = kad((md - 1)*3 + ma) - tmp*p_bc
15323 kac((mc - 1)*3 + ma) = kac((mc - 1)*3 + ma) - tmp*p_bd
15325 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
15326 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
15330 END SUBROUTINE block_3_1_2_2
15344 SUBROUTINE block_3_1_2_3(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
15345 REAL(kind=
dp) :: kbd(1*3), kbc(1*2), kad(3*3), kac(3*2), &
15346 pbd(1*3),
pbc(1*2), pad(3*3), &
15347 pac(3*2), prim(3*1*2*3), scale
15349 INTEGER :: ma, mb, mc, md, p_index
15350 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
15352 kbd(1:1*3) = 0.0_dp
15353 kbc(1:1*2) = 0.0_dp
15354 kad(1:3*3) = 0.0_dp
15355 kac(1:3*2) = 0.0_dp
15362 p_bd = pbd((md - 1)*1 + mb)
15363 p_bc =
pbc((mc - 1)*1 + mb)
15365 p_index = p_index + 1
15366 tmp = scale*prim(p_index)
15367 ks_bc = ks_bc + tmp*pad((md - 1)*3 + ma)
15368 ks_bd = ks_bd + tmp*pac((mc - 1)*3 + ma)
15369 kad((md - 1)*3 + ma) = kad((md - 1)*3 + ma) - tmp*p_bc
15370 kac((mc - 1)*3 + ma) = kac((mc - 1)*3 + ma) - tmp*p_bd
15372 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
15373 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
15377 END SUBROUTINE block_3_1_2_3
15392 SUBROUTINE block_3_1_2(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
15394 REAL(kind=
dp) :: kbd(1*md_max), kbc(1*2), kad(3*md_max), kac(3*2), pbd(1*md_max),
pbc(1*2), &
15395 pad(3*md_max), pac(3*2), prim(3*1*2*md_max), scale
15397 INTEGER :: ma, mb, mc, md, p_index
15398 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
15400 kbd(1:1*md_max) = 0.0_dp
15401 kbc(1:1*2) = 0.0_dp
15402 kad(1:3*md_max) = 0.0_dp
15403 kac(1:3*2) = 0.0_dp
15410 p_bd = pbd((md - 1)*1 + mb)
15411 p_bc =
pbc((mc - 1)*1 + mb)
15413 p_index = p_index + 1
15414 tmp = scale*prim(p_index)
15415 ks_bc = ks_bc + tmp*pad((md - 1)*3 + ma)
15416 ks_bd = ks_bd + tmp*pac((mc - 1)*3 + ma)
15417 kad((md - 1)*3 + ma) = kad((md - 1)*3 + ma) - tmp*p_bc
15418 kac((mc - 1)*3 + ma) = kac((mc - 1)*3 + ma) - tmp*p_bd
15420 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
15421 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
15425 END SUBROUTINE block_3_1_2
15439 SUBROUTINE block_3_1_3_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
15440 REAL(kind=
dp) :: kbd(1*1), kbc(1*3), kad(3*1), kac(3*3), &
15441 pbd(1*1),
pbc(1*3), pad(3*1), &
15442 pac(3*3), prim(3*1*3*1), scale
15444 INTEGER :: ma, mb, mc, md, p_index
15445 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
15447 kbd(1:1*1) = 0.0_dp
15448 kbc(1:1*3) = 0.0_dp
15449 kad(1:3*1) = 0.0_dp
15450 kac(1:3*3) = 0.0_dp
15457 p_bd = pbd((md - 1)*1 + mb)
15458 p_bc =
pbc((mc - 1)*1 + mb)
15460 p_index = p_index + 1
15461 tmp = scale*prim(p_index)
15462 ks_bc = ks_bc + tmp*pad((md - 1)*3 + ma)
15463 ks_bd = ks_bd + tmp*pac((mc - 1)*3 + ma)
15464 kad((md - 1)*3 + ma) = kad((md - 1)*3 + ma) - tmp*p_bc
15465 kac((mc - 1)*3 + ma) = kac((mc - 1)*3 + ma) - tmp*p_bd
15467 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
15468 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
15472 END SUBROUTINE block_3_1_3_1
15486 SUBROUTINE block_3_1_3_2(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
15487 REAL(kind=
dp) :: kbd(1*2), kbc(1*3), kad(3*2), kac(3*3), &
15488 pbd(1*2),
pbc(1*3), pad(3*2), &
15489 pac(3*3), prim(3*1*3*2), scale
15491 INTEGER :: ma, mb, mc, md, p_index
15492 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
15494 kbd(1:1*2) = 0.0_dp
15495 kbc(1:1*3) = 0.0_dp
15496 kad(1:3*2) = 0.0_dp
15497 kac(1:3*3) = 0.0_dp
15504 p_bd = pbd((md - 1)*1 + mb)
15505 p_bc =
pbc((mc - 1)*1 + mb)
15507 p_index = p_index + 1
15508 tmp = scale*prim(p_index)
15509 ks_bc = ks_bc + tmp*pad((md - 1)*3 + ma)
15510 ks_bd = ks_bd + tmp*pac((mc - 1)*3 + ma)
15511 kad((md - 1)*3 + ma) = kad((md - 1)*3 + ma) - tmp*p_bc
15512 kac((mc - 1)*3 + ma) = kac((mc - 1)*3 + ma) - tmp*p_bd
15514 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
15515 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
15519 END SUBROUTINE block_3_1_3_2
15534 SUBROUTINE block_3_1_3(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
15536 REAL(kind=
dp) :: kbd(1*md_max), kbc(1*3), kad(3*md_max), kac(3*3), pbd(1*md_max),
pbc(1*3), &
15537 pad(3*md_max), pac(3*3), prim(3*1*3*md_max), scale
15539 INTEGER :: ma, mb, mc, md, p_index
15540 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
15542 kbd(1:1*md_max) = 0.0_dp
15543 kbc(1:1*3) = 0.0_dp
15544 kad(1:3*md_max) = 0.0_dp
15545 kac(1:3*3) = 0.0_dp
15552 p_bd = pbd((md - 1)*1 + mb)
15553 p_bc =
pbc((mc - 1)*1 + mb)
15555 p_index = p_index + 1
15556 tmp = scale*prim(p_index)
15557 ks_bc = ks_bc + tmp*pad((md - 1)*3 + ma)
15558 ks_bd = ks_bd + tmp*pac((mc - 1)*3 + ma)
15559 kad((md - 1)*3 + ma) = kad((md - 1)*3 + ma) - tmp*p_bc
15560 kac((mc - 1)*3 + ma) = kac((mc - 1)*3 + ma) - tmp*p_bd
15562 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
15563 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
15567 END SUBROUTINE block_3_1_3
15581 SUBROUTINE block_3_1_4_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
15582 REAL(kind=
dp) :: kbd(1*1), kbc(1*4), kad(3*1), kac(3*4), &
15583 pbd(1*1),
pbc(1*4), pad(3*1), &
15584 pac(3*4), prim(3*1*4*1), scale
15586 INTEGER :: ma, mb, mc, md, p_index
15587 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
15589 kbd(1:1*1) = 0.0_dp
15590 kbc(1:1*4) = 0.0_dp
15591 kad(1:3*1) = 0.0_dp
15592 kac(1:3*4) = 0.0_dp
15599 p_bd = pbd((md - 1)*1 + mb)
15600 p_bc =
pbc((mc - 1)*1 + mb)
15602 p_index = p_index + 1
15603 tmp = scale*prim(p_index)
15604 ks_bc = ks_bc + tmp*pad((md - 1)*3 + ma)
15605 ks_bd = ks_bd + tmp*pac((mc - 1)*3 + ma)
15606 kad((md - 1)*3 + ma) = kad((md - 1)*3 + ma) - tmp*p_bc
15607 kac((mc - 1)*3 + ma) = kac((mc - 1)*3 + ma) - tmp*p_bd
15609 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
15610 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
15614 END SUBROUTINE block_3_1_4_1
15629 SUBROUTINE block_3_1_4(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
15631 REAL(kind=
dp) :: kbd(1*md_max), kbc(1*4), kad(3*md_max), kac(3*4), pbd(1*md_max),
pbc(1*4), &
15632 pad(3*md_max), pac(3*4), prim(3*1*4*md_max), scale
15634 INTEGER :: ma, mb, mc, md, p_index
15635 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
15637 kbd(1:1*md_max) = 0.0_dp
15638 kbc(1:1*4) = 0.0_dp
15639 kad(1:3*md_max) = 0.0_dp
15640 kac(1:3*4) = 0.0_dp
15647 p_bd = pbd((md - 1)*1 + mb)
15648 p_bc =
pbc((mc - 1)*1 + mb)
15650 p_index = p_index + 1
15651 tmp = scale*prim(p_index)
15652 ks_bc = ks_bc + tmp*pad((md - 1)*3 + ma)
15653 ks_bd = ks_bd + tmp*pac((mc - 1)*3 + ma)
15654 kad((md - 1)*3 + ma) = kad((md - 1)*3 + ma) - tmp*p_bc
15655 kac((mc - 1)*3 + ma) = kac((mc - 1)*3 + ma) - tmp*p_bd
15657 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
15658 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
15662 END SUBROUTINE block_3_1_4
15676 SUBROUTINE block_3_1_5_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
15677 REAL(kind=
dp) :: kbd(1*1), kbc(1*5), kad(3*1), kac(3*5), &
15678 pbd(1*1),
pbc(1*5), pad(3*1), &
15679 pac(3*5), prim(3*1*5*1), scale
15681 INTEGER :: ma, mb, mc, md, p_index
15682 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
15684 kbd(1:1*1) = 0.0_dp
15685 kbc(1:1*5) = 0.0_dp
15686 kad(1:3*1) = 0.0_dp
15687 kac(1:3*5) = 0.0_dp
15694 p_bd = pbd((md - 1)*1 + mb)
15695 p_bc =
pbc((mc - 1)*1 + mb)
15697 p_index = p_index + 1
15698 tmp = scale*prim(p_index)
15699 ks_bc = ks_bc + tmp*pad((md - 1)*3 + ma)
15700 ks_bd = ks_bd + tmp*pac((mc - 1)*3 + ma)
15701 kad((md - 1)*3 + ma) = kad((md - 1)*3 + ma) - tmp*p_bc
15702 kac((mc - 1)*3 + ma) = kac((mc - 1)*3 + ma) - tmp*p_bd
15704 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
15705 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
15709 END SUBROUTINE block_3_1_5_1
15724 SUBROUTINE block_3_1_5(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
15726 REAL(kind=
dp) :: kbd(1*md_max), kbc(1*5), kad(3*md_max), kac(3*5), pbd(1*md_max),
pbc(1*5), &
15727 pad(3*md_max), pac(3*5), prim(3*1*5*md_max), scale
15729 INTEGER :: ma, mb, mc, md, p_index
15730 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
15732 kbd(1:1*md_max) = 0.0_dp
15733 kbc(1:1*5) = 0.0_dp
15734 kad(1:3*md_max) = 0.0_dp
15735 kac(1:3*5) = 0.0_dp
15742 p_bd = pbd((md - 1)*1 + mb)
15743 p_bc =
pbc((mc - 1)*1 + mb)
15745 p_index = p_index + 1
15746 tmp = scale*prim(p_index)
15747 ks_bc = ks_bc + tmp*pad((md - 1)*3 + ma)
15748 ks_bd = ks_bd + tmp*pac((mc - 1)*3 + ma)
15749 kad((md - 1)*3 + ma) = kad((md - 1)*3 + ma) - tmp*p_bc
15750 kac((mc - 1)*3 + ma) = kac((mc - 1)*3 + ma) - tmp*p_bd
15752 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
15753 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
15757 END SUBROUTINE block_3_1_5
15771 SUBROUTINE block_3_1_6_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
15772 REAL(kind=
dp) :: kbd(1*1), kbc(1*6), kad(3*1), kac(3*6), &
15773 pbd(1*1),
pbc(1*6), pad(3*1), &
15774 pac(3*6), prim(3*1*6*1), scale
15776 INTEGER :: ma, mb, mc, md, p_index
15777 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
15779 kbd(1:1*1) = 0.0_dp
15780 kbc(1:1*6) = 0.0_dp
15781 kad(1:3*1) = 0.0_dp
15782 kac(1:3*6) = 0.0_dp
15789 p_bd = pbd((md - 1)*1 + mb)
15790 p_bc =
pbc((mc - 1)*1 + mb)
15792 p_index = p_index + 1
15793 tmp = scale*prim(p_index)
15794 ks_bc = ks_bc + tmp*pad((md - 1)*3 + ma)
15795 ks_bd = ks_bd + tmp*pac((mc - 1)*3 + ma)
15796 kad((md - 1)*3 + ma) = kad((md - 1)*3 + ma) - tmp*p_bc
15797 kac((mc - 1)*3 + ma) = kac((mc - 1)*3 + ma) - tmp*p_bd
15799 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
15800 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
15804 END SUBROUTINE block_3_1_6_1
15819 SUBROUTINE block_3_1_6(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
15821 REAL(kind=
dp) :: kbd(1*md_max), kbc(1*6), kad(3*md_max), kac(3*6), pbd(1*md_max),
pbc(1*6), &
15822 pad(3*md_max), pac(3*6), prim(3*1*6*md_max), scale
15824 INTEGER :: ma, mb, mc, md, p_index
15825 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
15827 kbd(1:1*md_max) = 0.0_dp
15828 kbc(1:1*6) = 0.0_dp
15829 kad(1:3*md_max) = 0.0_dp
15830 kac(1:3*6) = 0.0_dp
15837 p_bd = pbd((md - 1)*1 + mb)
15838 p_bc =
pbc((mc - 1)*1 + mb)
15840 p_index = p_index + 1
15841 tmp = scale*prim(p_index)
15842 ks_bc = ks_bc + tmp*pad((md - 1)*3 + ma)
15843 ks_bd = ks_bd + tmp*pac((mc - 1)*3 + ma)
15844 kad((md - 1)*3 + ma) = kad((md - 1)*3 + ma) - tmp*p_bc
15845 kac((mc - 1)*3 + ma) = kac((mc - 1)*3 + ma) - tmp*p_bd
15847 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
15848 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
15852 END SUBROUTINE block_3_1_6
15868 SUBROUTINE block_3_1(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
15869 INTEGER :: mc_max, md_max
15870 REAL(kind=
dp) :: kbd(1*md_max), kbc(1*mc_max), kad(3*md_max), kac(3*mc_max), pbd(1*md_max), &
15871 pbc(1*mc_max), pad(3*md_max), pac(3*mc_max), prim(3*1*mc_max*md_max), scale
15873 INTEGER :: ma, mb, mc, md, p_index
15874 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
15876 kbd(1:1*md_max) = 0.0_dp
15877 kbc(1:1*mc_max) = 0.0_dp
15878 kad(1:3*md_max) = 0.0_dp
15879 kac(1:3*mc_max) = 0.0_dp
15886 p_bd = pbd((md - 1)*1 + mb)
15887 p_bc =
pbc((mc - 1)*1 + mb)
15889 p_index = p_index + 1
15890 tmp = scale*prim(p_index)
15891 ks_bc = ks_bc + tmp*pad((md - 1)*3 + ma)
15892 ks_bd = ks_bd + tmp*pac((mc - 1)*3 + ma)
15893 kad((md - 1)*3 + ma) = kad((md - 1)*3 + ma) - tmp*p_bc
15894 kac((mc - 1)*3 + ma) = kac((mc - 1)*3 + ma) - tmp*p_bd
15896 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
15897 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
15901 END SUBROUTINE block_3_1
15915 SUBROUTINE block_3_2_1_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
15916 REAL(kind=
dp) :: kbd(2*1), kbc(2*1), kad(3*1), kac(3*1), &
15917 pbd(2*1),
pbc(2*1), pad(3*1), &
15918 pac(3*1), prim(3*2*1*1), scale
15920 INTEGER :: ma, mb, mc, md, p_index
15921 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
15923 kbd(1:2*1) = 0.0_dp
15924 kbc(1:2*1) = 0.0_dp
15925 kad(1:3*1) = 0.0_dp
15926 kac(1:3*1) = 0.0_dp
15933 p_bd = pbd((md - 1)*2 + mb)
15934 p_bc =
pbc((mc - 1)*2 + mb)
15936 p_index = p_index + 1
15937 tmp = scale*prim(p_index)
15938 ks_bc = ks_bc + tmp*pad((md - 1)*3 + ma)
15939 ks_bd = ks_bd + tmp*pac((mc - 1)*3 + ma)
15940 kad((md - 1)*3 + ma) = kad((md - 1)*3 + ma) - tmp*p_bc
15941 kac((mc - 1)*3 + ma) = kac((mc - 1)*3 + ma) - tmp*p_bd
15943 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
15944 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
15948 END SUBROUTINE block_3_2_1_1
15962 SUBROUTINE block_3_2_1_2(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
15963 REAL(kind=
dp) :: kbd(2*2), kbc(2*1), kad(3*2), kac(3*1), &
15964 pbd(2*2),
pbc(2*1), pad(3*2), &
15965 pac(3*1), prim(3*2*1*2), scale
15967 INTEGER :: ma, mb, mc, md, p_index
15968 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
15970 kbd(1:2*2) = 0.0_dp
15971 kbc(1:2*1) = 0.0_dp
15972 kad(1:3*2) = 0.0_dp
15973 kac(1:3*1) = 0.0_dp
15980 p_bd = pbd((md - 1)*2 + mb)
15981 p_bc =
pbc((mc - 1)*2 + mb)
15983 p_index = p_index + 1
15984 tmp = scale*prim(p_index)
15985 ks_bc = ks_bc + tmp*pad((md - 1)*3 + ma)
15986 ks_bd = ks_bd + tmp*pac((mc - 1)*3 + ma)
15987 kad((md - 1)*3 + ma) = kad((md - 1)*3 + ma) - tmp*p_bc
15988 kac((mc - 1)*3 + ma) = kac((mc - 1)*3 + ma) - tmp*p_bd
15990 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
15991 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
15995 END SUBROUTINE block_3_2_1_2
16009 SUBROUTINE block_3_2_1_3(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
16010 REAL(kind=
dp) :: kbd(2*3), kbc(2*1), kad(3*3), kac(3*1), &
16011 pbd(2*3),
pbc(2*1), pad(3*3), &
16012 pac(3*1), prim(3*2*1*3), scale
16014 INTEGER :: ma, mb, mc, md, p_index
16015 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
16017 kbd(1:2*3) = 0.0_dp
16018 kbc(1:2*1) = 0.0_dp
16019 kad(1:3*3) = 0.0_dp
16020 kac(1:3*1) = 0.0_dp
16027 p_bd = pbd((md - 1)*2 + mb)
16028 p_bc =
pbc((mc - 1)*2 + mb)
16030 p_index = p_index + 1
16031 tmp = scale*prim(p_index)
16032 ks_bc = ks_bc + tmp*pad((md - 1)*3 + ma)
16033 ks_bd = ks_bd + tmp*pac((mc - 1)*3 + ma)
16034 kad((md - 1)*3 + ma) = kad((md - 1)*3 + ma) - tmp*p_bc
16035 kac((mc - 1)*3 + ma) = kac((mc - 1)*3 + ma) - tmp*p_bd
16037 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
16038 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
16042 END SUBROUTINE block_3_2_1_3
16057 SUBROUTINE block_3_2_1(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
16059 REAL(kind=
dp) :: kbd(2*md_max), kbc(2*1), kad(3*md_max), kac(3*1), pbd(2*md_max),
pbc(2*1), &
16060 pad(3*md_max), pac(3*1), prim(3*2*1*md_max), scale
16062 INTEGER :: ma, mb, mc, md, p_index
16063 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
16065 kbd(1:2*md_max) = 0.0_dp
16066 kbc(1:2*1) = 0.0_dp
16067 kad(1:3*md_max) = 0.0_dp
16068 kac(1:3*1) = 0.0_dp
16075 p_bd = pbd((md - 1)*2 + mb)
16076 p_bc =
pbc((mc - 1)*2 + mb)
16078 p_index = p_index + 1
16079 tmp = scale*prim(p_index)
16080 ks_bc = ks_bc + tmp*pad((md - 1)*3 + ma)
16081 ks_bd = ks_bd + tmp*pac((mc - 1)*3 + ma)
16082 kad((md - 1)*3 + ma) = kad((md - 1)*3 + ma) - tmp*p_bc
16083 kac((mc - 1)*3 + ma) = kac((mc - 1)*3 + ma) - tmp*p_bd
16085 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
16086 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
16090 END SUBROUTINE block_3_2_1
16104 SUBROUTINE block_3_2_2_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
16105 REAL(kind=
dp) :: kbd(2*1), kbc(2*2), kad(3*1), kac(3*2), &
16106 pbd(2*1),
pbc(2*2), pad(3*1), &
16107 pac(3*2), prim(3*2*2*1), scale
16109 INTEGER :: ma, mb, mc, md, p_index
16110 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
16112 kbd(1:2*1) = 0.0_dp
16113 kbc(1:2*2) = 0.0_dp
16114 kad(1:3*1) = 0.0_dp
16115 kac(1:3*2) = 0.0_dp
16122 p_bd = pbd((md - 1)*2 + mb)
16123 p_bc =
pbc((mc - 1)*2 + mb)
16125 p_index = p_index + 1
16126 tmp = scale*prim(p_index)
16127 ks_bc = ks_bc + tmp*pad((md - 1)*3 + ma)
16128 ks_bd = ks_bd + tmp*pac((mc - 1)*3 + ma)
16129 kad((md - 1)*3 + ma) = kad((md - 1)*3 + ma) - tmp*p_bc
16130 kac((mc - 1)*3 + ma) = kac((mc - 1)*3 + ma) - tmp*p_bd
16132 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
16133 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
16137 END SUBROUTINE block_3_2_2_1
16152 SUBROUTINE block_3_2_2(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
16154 REAL(kind=
dp) :: kbd(2*md_max), kbc(2*2), kad(3*md_max), kac(3*2), pbd(2*md_max),
pbc(2*2), &
16155 pad(3*md_max), pac(3*2), prim(3*2*2*md_max), scale
16157 INTEGER :: ma, mb, mc, md, p_index
16158 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
16160 kbd(1:2*md_max) = 0.0_dp
16161 kbc(1:2*2) = 0.0_dp
16162 kad(1:3*md_max) = 0.0_dp
16163 kac(1:3*2) = 0.0_dp
16170 p_bd = pbd((md - 1)*2 + mb)
16171 p_bc =
pbc((mc - 1)*2 + mb)
16173 p_index = p_index + 1
16174 tmp = scale*prim(p_index)
16175 ks_bc = ks_bc + tmp*pad((md - 1)*3 + ma)
16176 ks_bd = ks_bd + tmp*pac((mc - 1)*3 + ma)
16177 kad((md - 1)*3 + ma) = kad((md - 1)*3 + ma) - tmp*p_bc
16178 kac((mc - 1)*3 + ma) = kac((mc - 1)*3 + ma) - tmp*p_bd
16180 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
16181 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
16185 END SUBROUTINE block_3_2_2
16199 SUBROUTINE block_3_2_3_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
16200 REAL(kind=
dp) :: kbd(2*1), kbc(2*3), kad(3*1), kac(3*3), &
16201 pbd(2*1),
pbc(2*3), pad(3*1), &
16202 pac(3*3), prim(3*2*3*1), scale
16204 INTEGER :: ma, mb, mc, md, p_index
16205 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
16207 kbd(1:2*1) = 0.0_dp
16208 kbc(1:2*3) = 0.0_dp
16209 kad(1:3*1) = 0.0_dp
16210 kac(1:3*3) = 0.0_dp
16217 p_bd = pbd((md - 1)*2 + mb)
16218 p_bc =
pbc((mc - 1)*2 + mb)
16220 p_index = p_index + 1
16221 tmp = scale*prim(p_index)
16222 ks_bc = ks_bc + tmp*pad((md - 1)*3 + ma)
16223 ks_bd = ks_bd + tmp*pac((mc - 1)*3 + ma)
16224 kad((md - 1)*3 + ma) = kad((md - 1)*3 + ma) - tmp*p_bc
16225 kac((mc - 1)*3 + ma) = kac((mc - 1)*3 + ma) - tmp*p_bd
16227 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
16228 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
16232 END SUBROUTINE block_3_2_3_1
16247 SUBROUTINE block_3_2_3(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
16249 REAL(kind=
dp) :: kbd(2*md_max), kbc(2*3), kad(3*md_max), kac(3*3), pbd(2*md_max),
pbc(2*3), &
16250 pad(3*md_max), pac(3*3), prim(3*2*3*md_max), scale
16252 INTEGER :: ma, mb, mc, md, p_index
16253 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
16255 kbd(1:2*md_max) = 0.0_dp
16256 kbc(1:2*3) = 0.0_dp
16257 kad(1:3*md_max) = 0.0_dp
16258 kac(1:3*3) = 0.0_dp
16265 p_bd = pbd((md - 1)*2 + mb)
16266 p_bc =
pbc((mc - 1)*2 + mb)
16268 p_index = p_index + 1
16269 tmp = scale*prim(p_index)
16270 ks_bc = ks_bc + tmp*pad((md - 1)*3 + ma)
16271 ks_bd = ks_bd + tmp*pac((mc - 1)*3 + ma)
16272 kad((md - 1)*3 + ma) = kad((md - 1)*3 + ma) - tmp*p_bc
16273 kac((mc - 1)*3 + ma) = kac((mc - 1)*3 + ma) - tmp*p_bd
16275 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
16276 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
16280 END SUBROUTINE block_3_2_3
16296 SUBROUTINE block_3_2(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
16297 INTEGER :: mc_max, md_max
16298 REAL(kind=
dp) :: kbd(2*md_max), kbc(2*mc_max), kad(3*md_max), kac(3*mc_max), pbd(2*md_max), &
16299 pbc(2*mc_max), pad(3*md_max), pac(3*mc_max), prim(3*2*mc_max*md_max), scale
16301 INTEGER :: ma, mb, mc, md, p_index
16302 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
16304 kbd(1:2*md_max) = 0.0_dp
16305 kbc(1:2*mc_max) = 0.0_dp
16306 kad(1:3*md_max) = 0.0_dp
16307 kac(1:3*mc_max) = 0.0_dp
16314 p_bd = pbd((md - 1)*2 + mb)
16315 p_bc =
pbc((mc - 1)*2 + mb)
16317 p_index = p_index + 1
16318 tmp = scale*prim(p_index)
16319 ks_bc = ks_bc + tmp*pad((md - 1)*3 + ma)
16320 ks_bd = ks_bd + tmp*pac((mc - 1)*3 + ma)
16321 kad((md - 1)*3 + ma) = kad((md - 1)*3 + ma) - tmp*p_bc
16322 kac((mc - 1)*3 + ma) = kac((mc - 1)*3 + ma) - tmp*p_bd
16324 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
16325 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
16329 END SUBROUTINE block_3_2
16343 SUBROUTINE block_3_3_1_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
16344 REAL(kind=
dp) :: kbd(3*1), kbc(3*1), kad(3*1), kac(3*1), &
16345 pbd(3*1),
pbc(3*1), pad(3*1), &
16346 pac(3*1), prim(3*3*1*1), scale
16348 INTEGER :: ma, mb, mc, md, p_index
16349 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
16351 kbd(1:3*1) = 0.0_dp
16352 kbc(1:3*1) = 0.0_dp
16353 kad(1:3*1) = 0.0_dp
16354 kac(1:3*1) = 0.0_dp
16361 p_bd = pbd((md - 1)*3 + mb)
16362 p_bc =
pbc((mc - 1)*3 + mb)
16364 p_index = p_index + 1
16365 tmp = scale*prim(p_index)
16366 ks_bc = ks_bc + tmp*pad((md - 1)*3 + ma)
16367 ks_bd = ks_bd + tmp*pac((mc - 1)*3 + ma)
16368 kad((md - 1)*3 + ma) = kad((md - 1)*3 + ma) - tmp*p_bc
16369 kac((mc - 1)*3 + ma) = kac((mc - 1)*3 + ma) - tmp*p_bd
16371 kbd((md - 1)*3 + mb) = kbd((md - 1)*3 + mb) - ks_bd
16372 kbc((mc - 1)*3 + mb) = kbc((mc - 1)*3 + mb) - ks_bc
16376 END SUBROUTINE block_3_3_1_1
16390 SUBROUTINE block_3_3_1_2(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
16391 REAL(kind=
dp) :: kbd(3*2), kbc(3*1), kad(3*2), kac(3*1), &
16392 pbd(3*2),
pbc(3*1), pad(3*2), &
16393 pac(3*1), prim(3*3*1*2), scale
16395 INTEGER :: ma, mb, mc, md, p_index
16396 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
16398 kbd(1:3*2) = 0.0_dp
16399 kbc(1:3*1) = 0.0_dp
16400 kad(1:3*2) = 0.0_dp
16401 kac(1:3*1) = 0.0_dp
16408 p_bd = pbd((md - 1)*3 + mb)
16409 p_bc =
pbc((mc - 1)*3 + mb)
16411 p_index = p_index + 1
16412 tmp = scale*prim(p_index)
16413 ks_bc = ks_bc + tmp*pad((md - 1)*3 + ma)
16414 ks_bd = ks_bd + tmp*pac((mc - 1)*3 + ma)
16415 kad((md - 1)*3 + ma) = kad((md - 1)*3 + ma) - tmp*p_bc
16416 kac((mc - 1)*3 + ma) = kac((mc - 1)*3 + ma) - tmp*p_bd
16418 kbd((md - 1)*3 + mb) = kbd((md - 1)*3 + mb) - ks_bd
16419 kbc((mc - 1)*3 + mb) = kbc((mc - 1)*3 + mb) - ks_bc
16423 END SUBROUTINE block_3_3_1_2
16438 SUBROUTINE block_3_3_1(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
16440 REAL(kind=
dp) :: kbd(3*md_max), kbc(3*1), kad(3*md_max), kac(3*1), pbd(3*md_max),
pbc(3*1), &
16441 pad(3*md_max), pac(3*1), prim(3*3*1*md_max), scale
16443 INTEGER :: ma, mb, mc, md, p_index
16444 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
16446 kbd(1:3*md_max) = 0.0_dp
16447 kbc(1:3*1) = 0.0_dp
16448 kad(1:3*md_max) = 0.0_dp
16449 kac(1:3*1) = 0.0_dp
16456 p_bd = pbd((md - 1)*3 + mb)
16457 p_bc =
pbc((mc - 1)*3 + mb)
16459 p_index = p_index + 1
16460 tmp = scale*prim(p_index)
16461 ks_bc = ks_bc + tmp*pad((md - 1)*3 + ma)
16462 ks_bd = ks_bd + tmp*pac((mc - 1)*3 + ma)
16463 kad((md - 1)*3 + ma) = kad((md - 1)*3 + ma) - tmp*p_bc
16464 kac((mc - 1)*3 + ma) = kac((mc - 1)*3 + ma) - tmp*p_bd
16466 kbd((md - 1)*3 + mb) = kbd((md - 1)*3 + mb) - ks_bd
16467 kbc((mc - 1)*3 + mb) = kbc((mc - 1)*3 + mb) - ks_bc
16471 END SUBROUTINE block_3_3_1
16485 SUBROUTINE block_3_3_2_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
16486 REAL(kind=
dp) :: kbd(3*1), kbc(3*2), kad(3*1), kac(3*2), &
16487 pbd(3*1),
pbc(3*2), pad(3*1), &
16488 pac(3*2), prim(3*3*2*1), scale
16490 INTEGER :: ma, mb, mc, md, p_index
16491 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
16493 kbd(1:3*1) = 0.0_dp
16494 kbc(1:3*2) = 0.0_dp
16495 kad(1:3*1) = 0.0_dp
16496 kac(1:3*2) = 0.0_dp
16503 p_bd = pbd((md - 1)*3 + mb)
16504 p_bc =
pbc((mc - 1)*3 + mb)
16506 p_index = p_index + 1
16507 tmp = scale*prim(p_index)
16508 ks_bc = ks_bc + tmp*pad((md - 1)*3 + ma)
16509 ks_bd = ks_bd + tmp*pac((mc - 1)*3 + ma)
16510 kad((md - 1)*3 + ma) = kad((md - 1)*3 + ma) - tmp*p_bc
16511 kac((mc - 1)*3 + ma) = kac((mc - 1)*3 + ma) - tmp*p_bd
16513 kbd((md - 1)*3 + mb) = kbd((md - 1)*3 + mb) - ks_bd
16514 kbc((mc - 1)*3 + mb) = kbc((mc - 1)*3 + mb) - ks_bc
16518 END SUBROUTINE block_3_3_2_1
16533 SUBROUTINE block_3_3_2(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
16535 REAL(kind=
dp) :: kbd(3*md_max), kbc(3*2), kad(3*md_max), kac(3*2), pbd(3*md_max),
pbc(3*2), &
16536 pad(3*md_max), pac(3*2), prim(3*3*2*md_max), scale
16538 INTEGER :: ma, mb, mc, md, p_index
16539 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
16541 kbd(1:3*md_max) = 0.0_dp
16542 kbc(1:3*2) = 0.0_dp
16543 kad(1:3*md_max) = 0.0_dp
16544 kac(1:3*2) = 0.0_dp
16551 p_bd = pbd((md - 1)*3 + mb)
16552 p_bc =
pbc((mc - 1)*3 + mb)
16554 p_index = p_index + 1
16555 tmp = scale*prim(p_index)
16556 ks_bc = ks_bc + tmp*pad((md - 1)*3 + ma)
16557 ks_bd = ks_bd + tmp*pac((mc - 1)*3 + ma)
16558 kad((md - 1)*3 + ma) = kad((md - 1)*3 + ma) - tmp*p_bc
16559 kac((mc - 1)*3 + ma) = kac((mc - 1)*3 + ma) - tmp*p_bd
16561 kbd((md - 1)*3 + mb) = kbd((md - 1)*3 + mb) - ks_bd
16562 kbc((mc - 1)*3 + mb) = kbc((mc - 1)*3 + mb) - ks_bc
16566 END SUBROUTINE block_3_3_2
16582 SUBROUTINE block_3_3(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
16583 INTEGER :: mc_max, md_max
16584 REAL(kind=
dp) :: kbd(3*md_max), kbc(3*mc_max), kad(3*md_max), kac(3*mc_max), pbd(3*md_max), &
16585 pbc(3*mc_max), pad(3*md_max), pac(3*mc_max), prim(3*3*mc_max*md_max), scale
16587 INTEGER :: ma, mb, mc, md, p_index
16588 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
16590 kbd(1:3*md_max) = 0.0_dp
16591 kbc(1:3*mc_max) = 0.0_dp
16592 kad(1:3*md_max) = 0.0_dp
16593 kac(1:3*mc_max) = 0.0_dp
16600 p_bd = pbd((md - 1)*3 + mb)
16601 p_bc =
pbc((mc - 1)*3 + mb)
16603 p_index = p_index + 1
16604 tmp = scale*prim(p_index)
16605 ks_bc = ks_bc + tmp*pad((md - 1)*3 + ma)
16606 ks_bd = ks_bd + tmp*pac((mc - 1)*3 + ma)
16607 kad((md - 1)*3 + ma) = kad((md - 1)*3 + ma) - tmp*p_bc
16608 kac((mc - 1)*3 + ma) = kac((mc - 1)*3 + ma) - tmp*p_bd
16610 kbd((md - 1)*3 + mb) = kbd((md - 1)*3 + mb) - ks_bd
16611 kbc((mc - 1)*3 + mb) = kbc((mc - 1)*3 + mb) - ks_bc
16615 END SUBROUTINE block_3_3
16629 SUBROUTINE block_3_4_1_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
16630 REAL(kind=
dp) :: kbd(4*1), kbc(4*1), kad(3*1), kac(3*1), &
16631 pbd(4*1),
pbc(4*1), pad(3*1), &
16632 pac(3*1), prim(3*4*1*1), scale
16634 INTEGER :: ma, mb, mc, md, p_index
16635 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
16637 kbd(1:4*1) = 0.0_dp
16638 kbc(1:4*1) = 0.0_dp
16639 kad(1:3*1) = 0.0_dp
16640 kac(1:3*1) = 0.0_dp
16647 p_bd = pbd((md - 1)*4 + mb)
16648 p_bc =
pbc((mc - 1)*4 + mb)
16650 p_index = p_index + 1
16651 tmp = scale*prim(p_index)
16652 ks_bc = ks_bc + tmp*pad((md - 1)*3 + ma)
16653 ks_bd = ks_bd + tmp*pac((mc - 1)*3 + ma)
16654 kad((md - 1)*3 + ma) = kad((md - 1)*3 + ma) - tmp*p_bc
16655 kac((mc - 1)*3 + ma) = kac((mc - 1)*3 + ma) - tmp*p_bd
16657 kbd((md - 1)*4 + mb) = kbd((md - 1)*4 + mb) - ks_bd
16658 kbc((mc - 1)*4 + mb) = kbc((mc - 1)*4 + mb) - ks_bc
16662 END SUBROUTINE block_3_4_1_1
16677 SUBROUTINE block_3_4_1(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
16679 REAL(kind=
dp) :: kbd(4*md_max), kbc(4*1), kad(3*md_max), kac(3*1), pbd(4*md_max),
pbc(4*1), &
16680 pad(3*md_max), pac(3*1), prim(3*4*1*md_max), scale
16682 INTEGER :: ma, mb, mc, md, p_index
16683 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
16685 kbd(1:4*md_max) = 0.0_dp
16686 kbc(1:4*1) = 0.0_dp
16687 kad(1:3*md_max) = 0.0_dp
16688 kac(1:3*1) = 0.0_dp
16695 p_bd = pbd((md - 1)*4 + mb)
16696 p_bc =
pbc((mc - 1)*4 + mb)
16698 p_index = p_index + 1
16699 tmp = scale*prim(p_index)
16700 ks_bc = ks_bc + tmp*pad((md - 1)*3 + ma)
16701 ks_bd = ks_bd + tmp*pac((mc - 1)*3 + ma)
16702 kad((md - 1)*3 + ma) = kad((md - 1)*3 + ma) - tmp*p_bc
16703 kac((mc - 1)*3 + ma) = kac((mc - 1)*3 + ma) - tmp*p_bd
16705 kbd((md - 1)*4 + mb) = kbd((md - 1)*4 + mb) - ks_bd
16706 kbc((mc - 1)*4 + mb) = kbc((mc - 1)*4 + mb) - ks_bc
16710 END SUBROUTINE block_3_4_1
16726 SUBROUTINE block_3_4(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
16727 INTEGER :: mc_max, md_max
16728 REAL(kind=
dp) :: kbd(4*md_max), kbc(4*mc_max), kad(3*md_max), kac(3*mc_max), pbd(4*md_max), &
16729 pbc(4*mc_max), pad(3*md_max), pac(3*mc_max), prim(3*4*mc_max*md_max), scale
16731 INTEGER :: ma, mb, mc, md, p_index
16732 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
16734 kbd(1:4*md_max) = 0.0_dp
16735 kbc(1:4*mc_max) = 0.0_dp
16736 kad(1:3*md_max) = 0.0_dp
16737 kac(1:3*mc_max) = 0.0_dp
16744 p_bd = pbd((md - 1)*4 + mb)
16745 p_bc =
pbc((mc - 1)*4 + mb)
16747 p_index = p_index + 1
16748 tmp = scale*prim(p_index)
16749 ks_bc = ks_bc + tmp*pad((md - 1)*3 + ma)
16750 ks_bd = ks_bd + tmp*pac((mc - 1)*3 + ma)
16751 kad((md - 1)*3 + ma) = kad((md - 1)*3 + ma) - tmp*p_bc
16752 kac((mc - 1)*3 + ma) = kac((mc - 1)*3 + ma) - tmp*p_bd
16754 kbd((md - 1)*4 + mb) = kbd((md - 1)*4 + mb) - ks_bd
16755 kbc((mc - 1)*4 + mb) = kbc((mc - 1)*4 + mb) - ks_bc
16759 END SUBROUTINE block_3_4
16773 SUBROUTINE block_3_5_1_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
16774 REAL(kind=
dp) :: kbd(5*1), kbc(5*1), kad(3*1), kac(3*1), &
16775 pbd(5*1),
pbc(5*1), pad(3*1), &
16776 pac(3*1), prim(3*5*1*1), scale
16778 INTEGER :: ma, mb, mc, md, p_index
16779 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
16781 kbd(1:5*1) = 0.0_dp
16782 kbc(1:5*1) = 0.0_dp
16783 kad(1:3*1) = 0.0_dp
16784 kac(1:3*1) = 0.0_dp
16791 p_bd = pbd((md - 1)*5 + mb)
16792 p_bc =
pbc((mc - 1)*5 + mb)
16794 p_index = p_index + 1
16795 tmp = scale*prim(p_index)
16796 ks_bc = ks_bc + tmp*pad((md - 1)*3 + ma)
16797 ks_bd = ks_bd + tmp*pac((mc - 1)*3 + ma)
16798 kad((md - 1)*3 + ma) = kad((md - 1)*3 + ma) - tmp*p_bc
16799 kac((mc - 1)*3 + ma) = kac((mc - 1)*3 + ma) - tmp*p_bd
16801 kbd((md - 1)*5 + mb) = kbd((md - 1)*5 + mb) - ks_bd
16802 kbc((mc - 1)*5 + mb) = kbc((mc - 1)*5 + mb) - ks_bc
16806 END SUBROUTINE block_3_5_1_1
16821 SUBROUTINE block_3_5_1(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
16823 REAL(kind=
dp) :: kbd(5*md_max), kbc(5*1), kad(3*md_max), kac(3*1), pbd(5*md_max),
pbc(5*1), &
16824 pad(3*md_max), pac(3*1), prim(3*5*1*md_max), scale
16826 INTEGER :: ma, mb, mc, md, p_index
16827 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
16829 kbd(1:5*md_max) = 0.0_dp
16830 kbc(1:5*1) = 0.0_dp
16831 kad(1:3*md_max) = 0.0_dp
16832 kac(1:3*1) = 0.0_dp
16839 p_bd = pbd((md - 1)*5 + mb)
16840 p_bc =
pbc((mc - 1)*5 + mb)
16842 p_index = p_index + 1
16843 tmp = scale*prim(p_index)
16844 ks_bc = ks_bc + tmp*pad((md - 1)*3 + ma)
16845 ks_bd = ks_bd + tmp*pac((mc - 1)*3 + ma)
16846 kad((md - 1)*3 + ma) = kad((md - 1)*3 + ma) - tmp*p_bc
16847 kac((mc - 1)*3 + ma) = kac((mc - 1)*3 + ma) - tmp*p_bd
16849 kbd((md - 1)*5 + mb) = kbd((md - 1)*5 + mb) - ks_bd
16850 kbc((mc - 1)*5 + mb) = kbc((mc - 1)*5 + mb) - ks_bc
16854 END SUBROUTINE block_3_5_1
16870 SUBROUTINE block_3_5(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
16871 INTEGER :: mc_max, md_max
16872 REAL(kind=
dp) :: kbd(5*md_max), kbc(5*mc_max), kad(3*md_max), kac(3*mc_max), pbd(5*md_max), &
16873 pbc(5*mc_max), pad(3*md_max), pac(3*mc_max), prim(3*5*mc_max*md_max), scale
16875 INTEGER :: ma, mb, mc, md, p_index
16876 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
16878 kbd(1:5*md_max) = 0.0_dp
16879 kbc(1:5*mc_max) = 0.0_dp
16880 kad(1:3*md_max) = 0.0_dp
16881 kac(1:3*mc_max) = 0.0_dp
16888 p_bd = pbd((md - 1)*5 + mb)
16889 p_bc =
pbc((mc - 1)*5 + mb)
16891 p_index = p_index + 1
16892 tmp = scale*prim(p_index)
16893 ks_bc = ks_bc + tmp*pad((md - 1)*3 + ma)
16894 ks_bd = ks_bd + tmp*pac((mc - 1)*3 + ma)
16895 kad((md - 1)*3 + ma) = kad((md - 1)*3 + ma) - tmp*p_bc
16896 kac((mc - 1)*3 + ma) = kac((mc - 1)*3 + ma) - tmp*p_bd
16898 kbd((md - 1)*5 + mb) = kbd((md - 1)*5 + mb) - ks_bd
16899 kbc((mc - 1)*5 + mb) = kbc((mc - 1)*5 + mb) - ks_bc
16903 END SUBROUTINE block_3_5
16917 SUBROUTINE block_3_6_1_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
16918 REAL(kind=
dp) :: kbd(6*1), kbc(6*1), kad(3*1), kac(3*1), &
16919 pbd(6*1),
pbc(6*1), pad(3*1), &
16920 pac(3*1), prim(3*6*1*1), scale
16922 INTEGER :: ma, mb, mc, md, p_index
16923 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
16925 kbd(1:6*1) = 0.0_dp
16926 kbc(1:6*1) = 0.0_dp
16927 kad(1:3*1) = 0.0_dp
16928 kac(1:3*1) = 0.0_dp
16935 p_bd = pbd((md - 1)*6 + mb)
16936 p_bc =
pbc((mc - 1)*6 + mb)
16938 p_index = p_index + 1
16939 tmp = scale*prim(p_index)
16940 ks_bc = ks_bc + tmp*pad((md - 1)*3 + ma)
16941 ks_bd = ks_bd + tmp*pac((mc - 1)*3 + ma)
16942 kad((md - 1)*3 + ma) = kad((md - 1)*3 + ma) - tmp*p_bc
16943 kac((mc - 1)*3 + ma) = kac((mc - 1)*3 + ma) - tmp*p_bd
16945 kbd((md - 1)*6 + mb) = kbd((md - 1)*6 + mb) - ks_bd
16946 kbc((mc - 1)*6 + mb) = kbc((mc - 1)*6 + mb) - ks_bc
16950 END SUBROUTINE block_3_6_1_1
16965 SUBROUTINE block_3_6_1(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
16967 REAL(kind=
dp) :: kbd(6*md_max), kbc(6*1), kad(3*md_max), kac(3*1), pbd(6*md_max),
pbc(6*1), &
16968 pad(3*md_max), pac(3*1), prim(3*6*1*md_max), scale
16970 INTEGER :: ma, mb, mc, md, p_index
16971 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
16973 kbd(1:6*md_max) = 0.0_dp
16974 kbc(1:6*1) = 0.0_dp
16975 kad(1:3*md_max) = 0.0_dp
16976 kac(1:3*1) = 0.0_dp
16983 p_bd = pbd((md - 1)*6 + mb)
16984 p_bc =
pbc((mc - 1)*6 + mb)
16986 p_index = p_index + 1
16987 tmp = scale*prim(p_index)
16988 ks_bc = ks_bc + tmp*pad((md - 1)*3 + ma)
16989 ks_bd = ks_bd + tmp*pac((mc - 1)*3 + ma)
16990 kad((md - 1)*3 + ma) = kad((md - 1)*3 + ma) - tmp*p_bc
16991 kac((mc - 1)*3 + ma) = kac((mc - 1)*3 + ma) - tmp*p_bd
16993 kbd((md - 1)*6 + mb) = kbd((md - 1)*6 + mb) - ks_bd
16994 kbc((mc - 1)*6 + mb) = kbc((mc - 1)*6 + mb) - ks_bc
16998 END SUBROUTINE block_3_6_1
17014 SUBROUTINE block_3_6(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
17015 INTEGER :: mc_max, md_max
17016 REAL(kind=
dp) :: kbd(6*md_max), kbc(6*mc_max), kad(3*md_max), kac(3*mc_max), pbd(6*md_max), &
17017 pbc(6*mc_max), pad(3*md_max), pac(3*mc_max), prim(3*6*mc_max*md_max), scale
17019 INTEGER :: ma, mb, mc, md, p_index
17020 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
17022 kbd(1:6*md_max) = 0.0_dp
17023 kbc(1:6*mc_max) = 0.0_dp
17024 kad(1:3*md_max) = 0.0_dp
17025 kac(1:3*mc_max) = 0.0_dp
17032 p_bd = pbd((md - 1)*6 + mb)
17033 p_bc =
pbc((mc - 1)*6 + mb)
17035 p_index = p_index + 1
17036 tmp = scale*prim(p_index)
17037 ks_bc = ks_bc + tmp*pad((md - 1)*3 + ma)
17038 ks_bd = ks_bd + tmp*pac((mc - 1)*3 + ma)
17039 kad((md - 1)*3 + ma) = kad((md - 1)*3 + ma) - tmp*p_bc
17040 kac((mc - 1)*3 + ma) = kac((mc - 1)*3 + ma) - tmp*p_bd
17042 kbd((md - 1)*6 + mb) = kbd((md - 1)*6 + mb) - ks_bd
17043 kbc((mc - 1)*6 + mb) = kbc((mc - 1)*6 + mb) - ks_bc
17047 END SUBROUTINE block_3_6
17063 SUBROUTINE block_3_7(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
17064 INTEGER :: mc_max, md_max
17065 REAL(kind=
dp) :: kbd(7*md_max), kbc(7*mc_max), kad(3*md_max), kac(3*mc_max), pbd(7*md_max), &
17066 pbc(7*mc_max), pad(3*md_max), pac(3*mc_max), prim(3*7*mc_max*md_max), scale
17068 INTEGER :: ma, mb, mc, md, p_index
17069 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
17071 kbd(1:7*md_max) = 0.0_dp
17072 kbc(1:7*mc_max) = 0.0_dp
17073 kad(1:3*md_max) = 0.0_dp
17074 kac(1:3*mc_max) = 0.0_dp
17081 p_bd = pbd((md - 1)*7 + mb)
17082 p_bc =
pbc((mc - 1)*7 + mb)
17084 p_index = p_index + 1
17085 tmp = scale*prim(p_index)
17086 ks_bc = ks_bc + tmp*pad((md - 1)*3 + ma)
17087 ks_bd = ks_bd + tmp*pac((mc - 1)*3 + ma)
17088 kad((md - 1)*3 + ma) = kad((md - 1)*3 + ma) - tmp*p_bc
17089 kac((mc - 1)*3 + ma) = kac((mc - 1)*3 + ma) - tmp*p_bd
17091 kbd((md - 1)*7 + mb) = kbd((md - 1)*7 + mb) - ks_bd
17092 kbc((mc - 1)*7 + mb) = kbc((mc - 1)*7 + mb) - ks_bc
17096 END SUBROUTINE block_3_7
17112 SUBROUTINE block_3_9(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
17113 INTEGER :: mc_max, md_max
17114 REAL(kind=
dp) :: kbd(9*md_max), kbc(9*mc_max), kad(3*md_max), kac(3*mc_max), pbd(9*md_max), &
17115 pbc(9*mc_max), pad(3*md_max), pac(3*mc_max), prim(3*9*mc_max*md_max), scale
17117 INTEGER :: ma, mb, mc, md, p_index
17118 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
17120 kbd(1:9*md_max) = 0.0_dp
17121 kbc(1:9*mc_max) = 0.0_dp
17122 kad(1:3*md_max) = 0.0_dp
17123 kac(1:3*mc_max) = 0.0_dp
17130 p_bd = pbd((md - 1)*9 + mb)
17131 p_bc =
pbc((mc - 1)*9 + mb)
17133 p_index = p_index + 1
17134 tmp = scale*prim(p_index)
17135 ks_bc = ks_bc + tmp*pad((md - 1)*3 + ma)
17136 ks_bd = ks_bd + tmp*pac((mc - 1)*3 + ma)
17137 kad((md - 1)*3 + ma) = kad((md - 1)*3 + ma) - tmp*p_bc
17138 kac((mc - 1)*3 + ma) = kac((mc - 1)*3 + ma) - tmp*p_bd
17140 kbd((md - 1)*9 + mb) = kbd((md - 1)*9 + mb) - ks_bd
17141 kbc((mc - 1)*9 + mb) = kbc((mc - 1)*9 + mb) - ks_bc
17145 END SUBROUTINE block_3_9
17161 SUBROUTINE block_3_10(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
17162 INTEGER :: mc_max, md_max
17163 REAL(kind=
dp) :: kbd(10*md_max), kbc(10*mc_max), kad(3*md_max), kac(3*mc_max), &
17164 pbd(10*md_max),
pbc(10*mc_max), pad(3*md_max), pac(3*mc_max), prim(3*10*mc_max*md_max), &
17167 INTEGER :: ma, mb, mc, md, p_index
17168 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
17170 kbd(1:10*md_max) = 0.0_dp
17171 kbc(1:10*mc_max) = 0.0_dp
17172 kad(1:3*md_max) = 0.0_dp
17173 kac(1:3*mc_max) = 0.0_dp
17180 p_bd = pbd((md - 1)*10 + mb)
17181 p_bc =
pbc((mc - 1)*10 + mb)
17183 p_index = p_index + 1
17184 tmp = scale*prim(p_index)
17185 ks_bc = ks_bc + tmp*pad((md - 1)*3 + ma)
17186 ks_bd = ks_bd + tmp*pac((mc - 1)*3 + ma)
17187 kad((md - 1)*3 + ma) = kad((md - 1)*3 + ma) - tmp*p_bc
17188 kac((mc - 1)*3 + ma) = kac((mc - 1)*3 + ma) - tmp*p_bd
17190 kbd((md - 1)*10 + mb) = kbd((md - 1)*10 + mb) - ks_bd
17191 kbc((mc - 1)*10 + mb) = kbc((mc - 1)*10 + mb) - ks_bc
17195 END SUBROUTINE block_3_10
17211 SUBROUTINE block_3_11(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
17212 INTEGER :: mc_max, md_max
17213 REAL(kind=
dp) :: kbd(11*md_max), kbc(11*mc_max), kad(3*md_max), kac(3*mc_max), &
17214 pbd(11*md_max),
pbc(11*mc_max), pad(3*md_max), pac(3*mc_max), prim(3*11*mc_max*md_max), &
17217 INTEGER :: ma, mb, mc, md, p_index
17218 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
17220 kbd(1:11*md_max) = 0.0_dp
17221 kbc(1:11*mc_max) = 0.0_dp
17222 kad(1:3*md_max) = 0.0_dp
17223 kac(1:3*mc_max) = 0.0_dp
17230 p_bd = pbd((md - 1)*11 + mb)
17231 p_bc =
pbc((mc - 1)*11 + mb)
17233 p_index = p_index + 1
17234 tmp = scale*prim(p_index)
17235 ks_bc = ks_bc + tmp*pad((md - 1)*3 + ma)
17236 ks_bd = ks_bd + tmp*pac((mc - 1)*3 + ma)
17237 kad((md - 1)*3 + ma) = kad((md - 1)*3 + ma) - tmp*p_bc
17238 kac((mc - 1)*3 + ma) = kac((mc - 1)*3 + ma) - tmp*p_bd
17240 kbd((md - 1)*11 + mb) = kbd((md - 1)*11 + mb) - ks_bd
17241 kbc((mc - 1)*11 + mb) = kbc((mc - 1)*11 + mb) - ks_bc
17245 END SUBROUTINE block_3_11
17261 SUBROUTINE block_3_15(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
17262 INTEGER :: mc_max, md_max
17263 REAL(kind=
dp) :: kbd(15*md_max), kbc(15*mc_max), kad(3*md_max), kac(3*mc_max), &
17264 pbd(15*md_max),
pbc(15*mc_max), pad(3*md_max), pac(3*mc_max), prim(3*15*mc_max*md_max), &
17267 INTEGER :: ma, mb, mc, md, p_index
17268 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
17270 kbd(1:15*md_max) = 0.0_dp
17271 kbc(1:15*mc_max) = 0.0_dp
17272 kad(1:3*md_max) = 0.0_dp
17273 kac(1:3*mc_max) = 0.0_dp
17280 p_bd = pbd((md - 1)*15 + mb)
17281 p_bc =
pbc((mc - 1)*15 + mb)
17283 p_index = p_index + 1
17284 tmp = scale*prim(p_index)
17285 ks_bc = ks_bc + tmp*pad((md - 1)*3 + ma)
17286 ks_bd = ks_bd + tmp*pac((mc - 1)*3 + ma)
17287 kad((md - 1)*3 + ma) = kad((md - 1)*3 + ma) - tmp*p_bc
17288 kac((mc - 1)*3 + ma) = kac((mc - 1)*3 + ma) - tmp*p_bd
17290 kbd((md - 1)*15 + mb) = kbd((md - 1)*15 + mb) - ks_bd
17291 kbc((mc - 1)*15 + mb) = kbc((mc - 1)*15 + mb) - ks_bc
17295 END SUBROUTINE block_3_15
17309 SUBROUTINE block_4_1_1_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
17310 REAL(kind=
dp) :: kbd(1*1), kbc(1*1), kad(4*1), kac(4*1), &
17311 pbd(1*1),
pbc(1*1), pad(4*1), &
17312 pac(4*1), prim(4*1*1*1), scale
17314 INTEGER :: ma, mb, mc, md, p_index
17315 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
17317 kbd(1:1*1) = 0.0_dp
17318 kbc(1:1*1) = 0.0_dp
17319 kad(1:4*1) = 0.0_dp
17320 kac(1:4*1) = 0.0_dp
17327 p_bd = pbd((md - 1)*1 + mb)
17328 p_bc =
pbc((mc - 1)*1 + mb)
17330 p_index = p_index + 1
17331 tmp = scale*prim(p_index)
17332 ks_bc = ks_bc + tmp*pad((md - 1)*4 + ma)
17333 ks_bd = ks_bd + tmp*pac((mc - 1)*4 + ma)
17334 kad((md - 1)*4 + ma) = kad((md - 1)*4 + ma) - tmp*p_bc
17335 kac((mc - 1)*4 + ma) = kac((mc - 1)*4 + ma) - tmp*p_bd
17337 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
17338 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
17342 END SUBROUTINE block_4_1_1_1
17356 SUBROUTINE block_4_1_1_2(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
17357 REAL(kind=
dp) :: kbd(1*2), kbc(1*1), kad(4*2), kac(4*1), &
17358 pbd(1*2),
pbc(1*1), pad(4*2), &
17359 pac(4*1), prim(4*1*1*2), scale
17361 INTEGER :: ma, mb, mc, md, p_index
17362 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
17364 kbd(1:1*2) = 0.0_dp
17365 kbc(1:1*1) = 0.0_dp
17366 kad(1:4*2) = 0.0_dp
17367 kac(1:4*1) = 0.0_dp
17374 p_bd = pbd((md - 1)*1 + mb)
17375 p_bc =
pbc((mc - 1)*1 + mb)
17377 p_index = p_index + 1
17378 tmp = scale*prim(p_index)
17379 ks_bc = ks_bc + tmp*pad((md - 1)*4 + ma)
17380 ks_bd = ks_bd + tmp*pac((mc - 1)*4 + ma)
17381 kad((md - 1)*4 + ma) = kad((md - 1)*4 + ma) - tmp*p_bc
17382 kac((mc - 1)*4 + ma) = kac((mc - 1)*4 + ma) - tmp*p_bd
17384 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
17385 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
17389 END SUBROUTINE block_4_1_1_2
17403 SUBROUTINE block_4_1_1_3(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
17404 REAL(kind=
dp) :: kbd(1*3), kbc(1*1), kad(4*3), kac(4*1), &
17405 pbd(1*3),
pbc(1*1), pad(4*3), &
17406 pac(4*1), prim(4*1*1*3), scale
17408 INTEGER :: ma, mb, mc, md, p_index
17409 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
17411 kbd(1:1*3) = 0.0_dp
17412 kbc(1:1*1) = 0.0_dp
17413 kad(1:4*3) = 0.0_dp
17414 kac(1:4*1) = 0.0_dp
17421 p_bd = pbd((md - 1)*1 + mb)
17422 p_bc =
pbc((mc - 1)*1 + mb)
17424 p_index = p_index + 1
17425 tmp = scale*prim(p_index)
17426 ks_bc = ks_bc + tmp*pad((md - 1)*4 + ma)
17427 ks_bd = ks_bd + tmp*pac((mc - 1)*4 + ma)
17428 kad((md - 1)*4 + ma) = kad((md - 1)*4 + ma) - tmp*p_bc
17429 kac((mc - 1)*4 + ma) = kac((mc - 1)*4 + ma) - tmp*p_bd
17431 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
17432 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
17436 END SUBROUTINE block_4_1_1_3
17450 SUBROUTINE block_4_1_1_4(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
17451 REAL(kind=
dp) :: kbd(1*4), kbc(1*1), kad(4*4), kac(4*1), &
17452 pbd(1*4),
pbc(1*1), pad(4*4), &
17453 pac(4*1), prim(4*1*1*4), scale
17455 INTEGER :: ma, mb, mc, md, p_index
17456 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
17458 kbd(1:1*4) = 0.0_dp
17459 kbc(1:1*1) = 0.0_dp
17460 kad(1:4*4) = 0.0_dp
17461 kac(1:4*1) = 0.0_dp
17468 p_bd = pbd((md - 1)*1 + mb)
17469 p_bc =
pbc((mc - 1)*1 + mb)
17471 p_index = p_index + 1
17472 tmp = scale*prim(p_index)
17473 ks_bc = ks_bc + tmp*pad((md - 1)*4 + ma)
17474 ks_bd = ks_bd + tmp*pac((mc - 1)*4 + ma)
17475 kad((md - 1)*4 + ma) = kad((md - 1)*4 + ma) - tmp*p_bc
17476 kac((mc - 1)*4 + ma) = kac((mc - 1)*4 + ma) - tmp*p_bd
17478 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
17479 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
17483 END SUBROUTINE block_4_1_1_4
17498 SUBROUTINE block_4_1_1(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
17500 REAL(kind=
dp) :: kbd(1*md_max), kbc(1*1), kad(4*md_max), kac(4*1), pbd(1*md_max),
pbc(1*1), &
17501 pad(4*md_max), pac(4*1), prim(4*1*1*md_max), scale
17503 INTEGER :: ma, mb, mc, md, p_index
17504 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
17506 kbd(1:1*md_max) = 0.0_dp
17507 kbc(1:1*1) = 0.0_dp
17508 kad(1:4*md_max) = 0.0_dp
17509 kac(1:4*1) = 0.0_dp
17516 p_bd = pbd((md - 1)*1 + mb)
17517 p_bc =
pbc((mc - 1)*1 + mb)
17519 p_index = p_index + 1
17520 tmp = scale*prim(p_index)
17521 ks_bc = ks_bc + tmp*pad((md - 1)*4 + ma)
17522 ks_bd = ks_bd + tmp*pac((mc - 1)*4 + ma)
17523 kad((md - 1)*4 + ma) = kad((md - 1)*4 + ma) - tmp*p_bc
17524 kac((mc - 1)*4 + ma) = kac((mc - 1)*4 + ma) - tmp*p_bd
17526 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
17527 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
17531 END SUBROUTINE block_4_1_1
17545 SUBROUTINE block_4_1_2_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
17546 REAL(kind=
dp) :: kbd(1*1), kbc(1*2), kad(4*1), kac(4*2), &
17547 pbd(1*1),
pbc(1*2), pad(4*1), &
17548 pac(4*2), prim(4*1*2*1), scale
17550 INTEGER :: ma, mb, mc, md, p_index
17551 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
17553 kbd(1:1*1) = 0.0_dp
17554 kbc(1:1*2) = 0.0_dp
17555 kad(1:4*1) = 0.0_dp
17556 kac(1:4*2) = 0.0_dp
17563 p_bd = pbd((md - 1)*1 + mb)
17564 p_bc =
pbc((mc - 1)*1 + mb)
17566 p_index = p_index + 1
17567 tmp = scale*prim(p_index)
17568 ks_bc = ks_bc + tmp*pad((md - 1)*4 + ma)
17569 ks_bd = ks_bd + tmp*pac((mc - 1)*4 + ma)
17570 kad((md - 1)*4 + ma) = kad((md - 1)*4 + ma) - tmp*p_bc
17571 kac((mc - 1)*4 + ma) = kac((mc - 1)*4 + ma) - tmp*p_bd
17573 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
17574 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
17578 END SUBROUTINE block_4_1_2_1
17592 SUBROUTINE block_4_1_2_2(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
17593 REAL(kind=
dp) :: kbd(1*2), kbc(1*2), kad(4*2), kac(4*2), &
17594 pbd(1*2),
pbc(1*2), pad(4*2), &
17595 pac(4*2), prim(4*1*2*2), scale
17597 INTEGER :: ma, mb, mc, md, p_index
17598 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
17600 kbd(1:1*2) = 0.0_dp
17601 kbc(1:1*2) = 0.0_dp
17602 kad(1:4*2) = 0.0_dp
17603 kac(1:4*2) = 0.0_dp
17610 p_bd = pbd((md - 1)*1 + mb)
17611 p_bc =
pbc((mc - 1)*1 + mb)
17613 p_index = p_index + 1
17614 tmp = scale*prim(p_index)
17615 ks_bc = ks_bc + tmp*pad((md - 1)*4 + ma)
17616 ks_bd = ks_bd + tmp*pac((mc - 1)*4 + ma)
17617 kad((md - 1)*4 + ma) = kad((md - 1)*4 + ma) - tmp*p_bc
17618 kac((mc - 1)*4 + ma) = kac((mc - 1)*4 + ma) - tmp*p_bd
17620 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
17621 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
17625 END SUBROUTINE block_4_1_2_2
17640 SUBROUTINE block_4_1_2(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
17642 REAL(kind=
dp) :: kbd(1*md_max), kbc(1*2), kad(4*md_max), kac(4*2), pbd(1*md_max),
pbc(1*2), &
17643 pad(4*md_max), pac(4*2), prim(4*1*2*md_max), scale
17645 INTEGER :: ma, mb, mc, md, p_index
17646 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
17648 kbd(1:1*md_max) = 0.0_dp
17649 kbc(1:1*2) = 0.0_dp
17650 kad(1:4*md_max) = 0.0_dp
17651 kac(1:4*2) = 0.0_dp
17658 p_bd = pbd((md - 1)*1 + mb)
17659 p_bc =
pbc((mc - 1)*1 + mb)
17661 p_index = p_index + 1
17662 tmp = scale*prim(p_index)
17663 ks_bc = ks_bc + tmp*pad((md - 1)*4 + ma)
17664 ks_bd = ks_bd + tmp*pac((mc - 1)*4 + ma)
17665 kad((md - 1)*4 + ma) = kad((md - 1)*4 + ma) - tmp*p_bc
17666 kac((mc - 1)*4 + ma) = kac((mc - 1)*4 + ma) - tmp*p_bd
17668 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
17669 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
17673 END SUBROUTINE block_4_1_2
17687 SUBROUTINE block_4_1_3_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
17688 REAL(kind=
dp) :: kbd(1*1), kbc(1*3), kad(4*1), kac(4*3), &
17689 pbd(1*1),
pbc(1*3), pad(4*1), &
17690 pac(4*3), prim(4*1*3*1), scale
17692 INTEGER :: ma, mb, mc, md, p_index
17693 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
17695 kbd(1:1*1) = 0.0_dp
17696 kbc(1:1*3) = 0.0_dp
17697 kad(1:4*1) = 0.0_dp
17698 kac(1:4*3) = 0.0_dp
17705 p_bd = pbd((md - 1)*1 + mb)
17706 p_bc =
pbc((mc - 1)*1 + mb)
17708 p_index = p_index + 1
17709 tmp = scale*prim(p_index)
17710 ks_bc = ks_bc + tmp*pad((md - 1)*4 + ma)
17711 ks_bd = ks_bd + tmp*pac((mc - 1)*4 + ma)
17712 kad((md - 1)*4 + ma) = kad((md - 1)*4 + ma) - tmp*p_bc
17713 kac((mc - 1)*4 + ma) = kac((mc - 1)*4 + ma) - tmp*p_bd
17715 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
17716 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
17720 END SUBROUTINE block_4_1_3_1
17735 SUBROUTINE block_4_1_3(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
17737 REAL(kind=
dp) :: kbd(1*md_max), kbc(1*3), kad(4*md_max), kac(4*3), pbd(1*md_max),
pbc(1*3), &
17738 pad(4*md_max), pac(4*3), prim(4*1*3*md_max), scale
17740 INTEGER :: ma, mb, mc, md, p_index
17741 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
17743 kbd(1:1*md_max) = 0.0_dp
17744 kbc(1:1*3) = 0.0_dp
17745 kad(1:4*md_max) = 0.0_dp
17746 kac(1:4*3) = 0.0_dp
17753 p_bd = pbd((md - 1)*1 + mb)
17754 p_bc =
pbc((mc - 1)*1 + mb)
17756 p_index = p_index + 1
17757 tmp = scale*prim(p_index)
17758 ks_bc = ks_bc + tmp*pad((md - 1)*4 + ma)
17759 ks_bd = ks_bd + tmp*pac((mc - 1)*4 + ma)
17760 kad((md - 1)*4 + ma) = kad((md - 1)*4 + ma) - tmp*p_bc
17761 kac((mc - 1)*4 + ma) = kac((mc - 1)*4 + ma) - tmp*p_bd
17763 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
17764 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
17768 END SUBROUTINE block_4_1_3
17782 SUBROUTINE block_4_1_4_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
17783 REAL(kind=
dp) :: kbd(1*1), kbc(1*4), kad(4*1), kac(4*4), &
17784 pbd(1*1),
pbc(1*4), pad(4*1), &
17785 pac(4*4), prim(4*1*4*1), scale
17787 INTEGER :: ma, mb, mc, md, p_index
17788 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
17790 kbd(1:1*1) = 0.0_dp
17791 kbc(1:1*4) = 0.0_dp
17792 kad(1:4*1) = 0.0_dp
17793 kac(1:4*4) = 0.0_dp
17800 p_bd = pbd((md - 1)*1 + mb)
17801 p_bc =
pbc((mc - 1)*1 + mb)
17803 p_index = p_index + 1
17804 tmp = scale*prim(p_index)
17805 ks_bc = ks_bc + tmp*pad((md - 1)*4 + ma)
17806 ks_bd = ks_bd + tmp*pac((mc - 1)*4 + ma)
17807 kad((md - 1)*4 + ma) = kad((md - 1)*4 + ma) - tmp*p_bc
17808 kac((mc - 1)*4 + ma) = kac((mc - 1)*4 + ma) - tmp*p_bd
17810 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
17811 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
17815 END SUBROUTINE block_4_1_4_1
17830 SUBROUTINE block_4_1_4(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
17832 REAL(kind=
dp) :: kbd(1*md_max), kbc(1*4), kad(4*md_max), kac(4*4), pbd(1*md_max),
pbc(1*4), &
17833 pad(4*md_max), pac(4*4), prim(4*1*4*md_max), scale
17835 INTEGER :: ma, mb, mc, md, p_index
17836 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
17838 kbd(1:1*md_max) = 0.0_dp
17839 kbc(1:1*4) = 0.0_dp
17840 kad(1:4*md_max) = 0.0_dp
17841 kac(1:4*4) = 0.0_dp
17848 p_bd = pbd((md - 1)*1 + mb)
17849 p_bc =
pbc((mc - 1)*1 + mb)
17851 p_index = p_index + 1
17852 tmp = scale*prim(p_index)
17853 ks_bc = ks_bc + tmp*pad((md - 1)*4 + ma)
17854 ks_bd = ks_bd + tmp*pac((mc - 1)*4 + ma)
17855 kad((md - 1)*4 + ma) = kad((md - 1)*4 + ma) - tmp*p_bc
17856 kac((mc - 1)*4 + ma) = kac((mc - 1)*4 + ma) - tmp*p_bd
17858 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
17859 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
17863 END SUBROUTINE block_4_1_4
17879 SUBROUTINE block_4_1(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
17880 INTEGER :: mc_max, md_max
17881 REAL(kind=
dp) :: kbd(1*md_max), kbc(1*mc_max), kad(4*md_max), kac(4*mc_max), pbd(1*md_max), &
17882 pbc(1*mc_max), pad(4*md_max), pac(4*mc_max), prim(4*1*mc_max*md_max), scale
17884 INTEGER :: ma, mb, mc, md, p_index
17885 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
17887 kbd(1:1*md_max) = 0.0_dp
17888 kbc(1:1*mc_max) = 0.0_dp
17889 kad(1:4*md_max) = 0.0_dp
17890 kac(1:4*mc_max) = 0.0_dp
17897 p_bd = pbd((md - 1)*1 + mb)
17898 p_bc =
pbc((mc - 1)*1 + mb)
17900 p_index = p_index + 1
17901 tmp = scale*prim(p_index)
17902 ks_bc = ks_bc + tmp*pad((md - 1)*4 + ma)
17903 ks_bd = ks_bd + tmp*pac((mc - 1)*4 + ma)
17904 kad((md - 1)*4 + ma) = kad((md - 1)*4 + ma) - tmp*p_bc
17905 kac((mc - 1)*4 + ma) = kac((mc - 1)*4 + ma) - tmp*p_bd
17907 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
17908 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
17912 END SUBROUTINE block_4_1
17926 SUBROUTINE block_4_2_1_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
17927 REAL(kind=
dp) :: kbd(2*1), kbc(2*1), kad(4*1), kac(4*1), &
17928 pbd(2*1),
pbc(2*1), pad(4*1), &
17929 pac(4*1), prim(4*2*1*1), scale
17931 INTEGER :: ma, mb, mc, md, p_index
17932 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
17934 kbd(1:2*1) = 0.0_dp
17935 kbc(1:2*1) = 0.0_dp
17936 kad(1:4*1) = 0.0_dp
17937 kac(1:4*1) = 0.0_dp
17944 p_bd = pbd((md - 1)*2 + mb)
17945 p_bc =
pbc((mc - 1)*2 + mb)
17947 p_index = p_index + 1
17948 tmp = scale*prim(p_index)
17949 ks_bc = ks_bc + tmp*pad((md - 1)*4 + ma)
17950 ks_bd = ks_bd + tmp*pac((mc - 1)*4 + ma)
17951 kad((md - 1)*4 + ma) = kad((md - 1)*4 + ma) - tmp*p_bc
17952 kac((mc - 1)*4 + ma) = kac((mc - 1)*4 + ma) - tmp*p_bd
17954 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
17955 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
17959 END SUBROUTINE block_4_2_1_1
17973 SUBROUTINE block_4_2_1_2(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
17974 REAL(kind=
dp) :: kbd(2*2), kbc(2*1), kad(4*2), kac(4*1), &
17975 pbd(2*2),
pbc(2*1), pad(4*2), &
17976 pac(4*1), prim(4*2*1*2), scale
17978 INTEGER :: ma, mb, mc, md, p_index
17979 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
17981 kbd(1:2*2) = 0.0_dp
17982 kbc(1:2*1) = 0.0_dp
17983 kad(1:4*2) = 0.0_dp
17984 kac(1:4*1) = 0.0_dp
17991 p_bd = pbd((md - 1)*2 + mb)
17992 p_bc =
pbc((mc - 1)*2 + mb)
17994 p_index = p_index + 1
17995 tmp = scale*prim(p_index)
17996 ks_bc = ks_bc + tmp*pad((md - 1)*4 + ma)
17997 ks_bd = ks_bd + tmp*pac((mc - 1)*4 + ma)
17998 kad((md - 1)*4 + ma) = kad((md - 1)*4 + ma) - tmp*p_bc
17999 kac((mc - 1)*4 + ma) = kac((mc - 1)*4 + ma) - tmp*p_bd
18001 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
18002 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
18006 END SUBROUTINE block_4_2_1_2
18021 SUBROUTINE block_4_2_1(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
18023 REAL(kind=
dp) :: kbd(2*md_max), kbc(2*1), kad(4*md_max), kac(4*1), pbd(2*md_max),
pbc(2*1), &
18024 pad(4*md_max), pac(4*1), prim(4*2*1*md_max), scale
18026 INTEGER :: ma, mb, mc, md, p_index
18027 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
18029 kbd(1:2*md_max) = 0.0_dp
18030 kbc(1:2*1) = 0.0_dp
18031 kad(1:4*md_max) = 0.0_dp
18032 kac(1:4*1) = 0.0_dp
18039 p_bd = pbd((md - 1)*2 + mb)
18040 p_bc =
pbc((mc - 1)*2 + mb)
18042 p_index = p_index + 1
18043 tmp = scale*prim(p_index)
18044 ks_bc = ks_bc + tmp*pad((md - 1)*4 + ma)
18045 ks_bd = ks_bd + tmp*pac((mc - 1)*4 + ma)
18046 kad((md - 1)*4 + ma) = kad((md - 1)*4 + ma) - tmp*p_bc
18047 kac((mc - 1)*4 + ma) = kac((mc - 1)*4 + ma) - tmp*p_bd
18049 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
18050 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
18054 END SUBROUTINE block_4_2_1
18068 SUBROUTINE block_4_2_2_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
18069 REAL(kind=
dp) :: kbd(2*1), kbc(2*2), kad(4*1), kac(4*2), &
18070 pbd(2*1),
pbc(2*2), pad(4*1), &
18071 pac(4*2), prim(4*2*2*1), scale
18073 INTEGER :: ma, mb, mc, md, p_index
18074 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
18076 kbd(1:2*1) = 0.0_dp
18077 kbc(1:2*2) = 0.0_dp
18078 kad(1:4*1) = 0.0_dp
18079 kac(1:4*2) = 0.0_dp
18086 p_bd = pbd((md - 1)*2 + mb)
18087 p_bc =
pbc((mc - 1)*2 + mb)
18089 p_index = p_index + 1
18090 tmp = scale*prim(p_index)
18091 ks_bc = ks_bc + tmp*pad((md - 1)*4 + ma)
18092 ks_bd = ks_bd + tmp*pac((mc - 1)*4 + ma)
18093 kad((md - 1)*4 + ma) = kad((md - 1)*4 + ma) - tmp*p_bc
18094 kac((mc - 1)*4 + ma) = kac((mc - 1)*4 + ma) - tmp*p_bd
18096 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
18097 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
18101 END SUBROUTINE block_4_2_2_1
18116 SUBROUTINE block_4_2_2(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
18118 REAL(kind=
dp) :: kbd(2*md_max), kbc(2*2), kad(4*md_max), kac(4*2), pbd(2*md_max),
pbc(2*2), &
18119 pad(4*md_max), pac(4*2), prim(4*2*2*md_max), scale
18121 INTEGER :: ma, mb, mc, md, p_index
18122 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
18124 kbd(1:2*md_max) = 0.0_dp
18125 kbc(1:2*2) = 0.0_dp
18126 kad(1:4*md_max) = 0.0_dp
18127 kac(1:4*2) = 0.0_dp
18134 p_bd = pbd((md - 1)*2 + mb)
18135 p_bc =
pbc((mc - 1)*2 + mb)
18137 p_index = p_index + 1
18138 tmp = scale*prim(p_index)
18139 ks_bc = ks_bc + tmp*pad((md - 1)*4 + ma)
18140 ks_bd = ks_bd + tmp*pac((mc - 1)*4 + ma)
18141 kad((md - 1)*4 + ma) = kad((md - 1)*4 + ma) - tmp*p_bc
18142 kac((mc - 1)*4 + ma) = kac((mc - 1)*4 + ma) - tmp*p_bd
18144 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
18145 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
18149 END SUBROUTINE block_4_2_2
18165 SUBROUTINE block_4_2(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
18166 INTEGER :: mc_max, md_max
18167 REAL(kind=
dp) :: kbd(2*md_max), kbc(2*mc_max), kad(4*md_max), kac(4*mc_max), pbd(2*md_max), &
18168 pbc(2*mc_max), pad(4*md_max), pac(4*mc_max), prim(4*2*mc_max*md_max), scale
18170 INTEGER :: ma, mb, mc, md, p_index
18171 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
18173 kbd(1:2*md_max) = 0.0_dp
18174 kbc(1:2*mc_max) = 0.0_dp
18175 kad(1:4*md_max) = 0.0_dp
18176 kac(1:4*mc_max) = 0.0_dp
18183 p_bd = pbd((md - 1)*2 + mb)
18184 p_bc =
pbc((mc - 1)*2 + mb)
18186 p_index = p_index + 1
18187 tmp = scale*prim(p_index)
18188 ks_bc = ks_bc + tmp*pad((md - 1)*4 + ma)
18189 ks_bd = ks_bd + tmp*pac((mc - 1)*4 + ma)
18190 kad((md - 1)*4 + ma) = kad((md - 1)*4 + ma) - tmp*p_bc
18191 kac((mc - 1)*4 + ma) = kac((mc - 1)*4 + ma) - tmp*p_bd
18193 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
18194 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
18198 END SUBROUTINE block_4_2
18212 SUBROUTINE block_4_3_1_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
18213 REAL(kind=
dp) :: kbd(3*1), kbc(3*1), kad(4*1), kac(4*1), &
18214 pbd(3*1),
pbc(3*1), pad(4*1), &
18215 pac(4*1), prim(4*3*1*1), scale
18217 INTEGER :: ma, mb, mc, md, p_index
18218 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
18220 kbd(1:3*1) = 0.0_dp
18221 kbc(1:3*1) = 0.0_dp
18222 kad(1:4*1) = 0.0_dp
18223 kac(1:4*1) = 0.0_dp
18230 p_bd = pbd((md - 1)*3 + mb)
18231 p_bc =
pbc((mc - 1)*3 + mb)
18233 p_index = p_index + 1
18234 tmp = scale*prim(p_index)
18235 ks_bc = ks_bc + tmp*pad((md - 1)*4 + ma)
18236 ks_bd = ks_bd + tmp*pac((mc - 1)*4 + ma)
18237 kad((md - 1)*4 + ma) = kad((md - 1)*4 + ma) - tmp*p_bc
18238 kac((mc - 1)*4 + ma) = kac((mc - 1)*4 + ma) - tmp*p_bd
18240 kbd((md - 1)*3 + mb) = kbd((md - 1)*3 + mb) - ks_bd
18241 kbc((mc - 1)*3 + mb) = kbc((mc - 1)*3 + mb) - ks_bc
18245 END SUBROUTINE block_4_3_1_1
18260 SUBROUTINE block_4_3_1(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
18262 REAL(kind=
dp) :: kbd(3*md_max), kbc(3*1), kad(4*md_max), kac(4*1), pbd(3*md_max),
pbc(3*1), &
18263 pad(4*md_max), pac(4*1), prim(4*3*1*md_max), scale
18265 INTEGER :: ma, mb, mc, md, p_index
18266 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
18268 kbd(1:3*md_max) = 0.0_dp
18269 kbc(1:3*1) = 0.0_dp
18270 kad(1:4*md_max) = 0.0_dp
18271 kac(1:4*1) = 0.0_dp
18278 p_bd = pbd((md - 1)*3 + mb)
18279 p_bc =
pbc((mc - 1)*3 + mb)
18281 p_index = p_index + 1
18282 tmp = scale*prim(p_index)
18283 ks_bc = ks_bc + tmp*pad((md - 1)*4 + ma)
18284 ks_bd = ks_bd + tmp*pac((mc - 1)*4 + ma)
18285 kad((md - 1)*4 + ma) = kad((md - 1)*4 + ma) - tmp*p_bc
18286 kac((mc - 1)*4 + ma) = kac((mc - 1)*4 + ma) - tmp*p_bd
18288 kbd((md - 1)*3 + mb) = kbd((md - 1)*3 + mb) - ks_bd
18289 kbc((mc - 1)*3 + mb) = kbc((mc - 1)*3 + mb) - ks_bc
18293 END SUBROUTINE block_4_3_1
18309 SUBROUTINE block_4_3(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
18310 INTEGER :: mc_max, md_max
18311 REAL(kind=
dp) :: kbd(3*md_max), kbc(3*mc_max), kad(4*md_max), kac(4*mc_max), pbd(3*md_max), &
18312 pbc(3*mc_max), pad(4*md_max), pac(4*mc_max), prim(4*3*mc_max*md_max), scale
18314 INTEGER :: ma, mb, mc, md, p_index
18315 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
18317 kbd(1:3*md_max) = 0.0_dp
18318 kbc(1:3*mc_max) = 0.0_dp
18319 kad(1:4*md_max) = 0.0_dp
18320 kac(1:4*mc_max) = 0.0_dp
18327 p_bd = pbd((md - 1)*3 + mb)
18328 p_bc =
pbc((mc - 1)*3 + mb)
18330 p_index = p_index + 1
18331 tmp = scale*prim(p_index)
18332 ks_bc = ks_bc + tmp*pad((md - 1)*4 + ma)
18333 ks_bd = ks_bd + tmp*pac((mc - 1)*4 + ma)
18334 kad((md - 1)*4 + ma) = kad((md - 1)*4 + ma) - tmp*p_bc
18335 kac((mc - 1)*4 + ma) = kac((mc - 1)*4 + ma) - tmp*p_bd
18337 kbd((md - 1)*3 + mb) = kbd((md - 1)*3 + mb) - ks_bd
18338 kbc((mc - 1)*3 + mb) = kbc((mc - 1)*3 + mb) - ks_bc
18342 END SUBROUTINE block_4_3
18356 SUBROUTINE block_4_4_1_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
18357 REAL(kind=
dp) :: kbd(4*1), kbc(4*1), kad(4*1), kac(4*1), &
18358 pbd(4*1),
pbc(4*1), pad(4*1), &
18359 pac(4*1), prim(4*4*1*1), scale
18361 INTEGER :: ma, mb, mc, md, p_index
18362 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
18364 kbd(1:4*1) = 0.0_dp
18365 kbc(1:4*1) = 0.0_dp
18366 kad(1:4*1) = 0.0_dp
18367 kac(1:4*1) = 0.0_dp
18374 p_bd = pbd((md - 1)*4 + mb)
18375 p_bc =
pbc((mc - 1)*4 + mb)
18377 p_index = p_index + 1
18378 tmp = scale*prim(p_index)
18379 ks_bc = ks_bc + tmp*pad((md - 1)*4 + ma)
18380 ks_bd = ks_bd + tmp*pac((mc - 1)*4 + ma)
18381 kad((md - 1)*4 + ma) = kad((md - 1)*4 + ma) - tmp*p_bc
18382 kac((mc - 1)*4 + ma) = kac((mc - 1)*4 + ma) - tmp*p_bd
18384 kbd((md - 1)*4 + mb) = kbd((md - 1)*4 + mb) - ks_bd
18385 kbc((mc - 1)*4 + mb) = kbc((mc - 1)*4 + mb) - ks_bc
18389 END SUBROUTINE block_4_4_1_1
18404 SUBROUTINE block_4_4_1(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
18406 REAL(kind=
dp) :: kbd(4*md_max), kbc(4*1), kad(4*md_max), kac(4*1), pbd(4*md_max),
pbc(4*1), &
18407 pad(4*md_max), pac(4*1), prim(4*4*1*md_max), scale
18409 INTEGER :: ma, mb, mc, md, p_index
18410 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
18412 kbd(1:4*md_max) = 0.0_dp
18413 kbc(1:4*1) = 0.0_dp
18414 kad(1:4*md_max) = 0.0_dp
18415 kac(1:4*1) = 0.0_dp
18422 p_bd = pbd((md - 1)*4 + mb)
18423 p_bc =
pbc((mc - 1)*4 + mb)
18425 p_index = p_index + 1
18426 tmp = scale*prim(p_index)
18427 ks_bc = ks_bc + tmp*pad((md - 1)*4 + ma)
18428 ks_bd = ks_bd + tmp*pac((mc - 1)*4 + ma)
18429 kad((md - 1)*4 + ma) = kad((md - 1)*4 + ma) - tmp*p_bc
18430 kac((mc - 1)*4 + ma) = kac((mc - 1)*4 + ma) - tmp*p_bd
18432 kbd((md - 1)*4 + mb) = kbd((md - 1)*4 + mb) - ks_bd
18433 kbc((mc - 1)*4 + mb) = kbc((mc - 1)*4 + mb) - ks_bc
18437 END SUBROUTINE block_4_4_1
18453 SUBROUTINE block_4_4(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
18454 INTEGER :: mc_max, md_max
18455 REAL(kind=
dp) :: kbd(4*md_max), kbc(4*mc_max), kad(4*md_max), kac(4*mc_max), pbd(4*md_max), &
18456 pbc(4*mc_max), pad(4*md_max), pac(4*mc_max), prim(4*4*mc_max*md_max), scale
18458 INTEGER :: ma, mb, mc, md, p_index
18459 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
18461 kbd(1:4*md_max) = 0.0_dp
18462 kbc(1:4*mc_max) = 0.0_dp
18463 kad(1:4*md_max) = 0.0_dp
18464 kac(1:4*mc_max) = 0.0_dp
18471 p_bd = pbd((md - 1)*4 + mb)
18472 p_bc =
pbc((mc - 1)*4 + mb)
18474 p_index = p_index + 1
18475 tmp = scale*prim(p_index)
18476 ks_bc = ks_bc + tmp*pad((md - 1)*4 + ma)
18477 ks_bd = ks_bd + tmp*pac((mc - 1)*4 + ma)
18478 kad((md - 1)*4 + ma) = kad((md - 1)*4 + ma) - tmp*p_bc
18479 kac((mc - 1)*4 + ma) = kac((mc - 1)*4 + ma) - tmp*p_bd
18481 kbd((md - 1)*4 + mb) = kbd((md - 1)*4 + mb) - ks_bd
18482 kbc((mc - 1)*4 + mb) = kbc((mc - 1)*4 + mb) - ks_bc
18486 END SUBROUTINE block_4_4
18502 SUBROUTINE block_4_5(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
18503 INTEGER :: mc_max, md_max
18504 REAL(kind=
dp) :: kbd(5*md_max), kbc(5*mc_max), kad(4*md_max), kac(4*mc_max), pbd(5*md_max), &
18505 pbc(5*mc_max), pad(4*md_max), pac(4*mc_max), prim(4*5*mc_max*md_max), scale
18507 INTEGER :: ma, mb, mc, md, p_index
18508 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
18510 kbd(1:5*md_max) = 0.0_dp
18511 kbc(1:5*mc_max) = 0.0_dp
18512 kad(1:4*md_max) = 0.0_dp
18513 kac(1:4*mc_max) = 0.0_dp
18520 p_bd = pbd((md - 1)*5 + mb)
18521 p_bc =
pbc((mc - 1)*5 + mb)
18523 p_index = p_index + 1
18524 tmp = scale*prim(p_index)
18525 ks_bc = ks_bc + tmp*pad((md - 1)*4 + ma)
18526 ks_bd = ks_bd + tmp*pac((mc - 1)*4 + ma)
18527 kad((md - 1)*4 + ma) = kad((md - 1)*4 + ma) - tmp*p_bc
18528 kac((mc - 1)*4 + ma) = kac((mc - 1)*4 + ma) - tmp*p_bd
18530 kbd((md - 1)*5 + mb) = kbd((md - 1)*5 + mb) - ks_bd
18531 kbc((mc - 1)*5 + mb) = kbc((mc - 1)*5 + mb) - ks_bc
18535 END SUBROUTINE block_4_5
18551 SUBROUTINE block_4_6(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
18552 INTEGER :: mc_max, md_max
18553 REAL(kind=
dp) :: kbd(6*md_max), kbc(6*mc_max), kad(4*md_max), kac(4*mc_max), pbd(6*md_max), &
18554 pbc(6*mc_max), pad(4*md_max), pac(4*mc_max), prim(4*6*mc_max*md_max), scale
18556 INTEGER :: ma, mb, mc, md, p_index
18557 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
18559 kbd(1:6*md_max) = 0.0_dp
18560 kbc(1:6*mc_max) = 0.0_dp
18561 kad(1:4*md_max) = 0.0_dp
18562 kac(1:4*mc_max) = 0.0_dp
18569 p_bd = pbd((md - 1)*6 + mb)
18570 p_bc =
pbc((mc - 1)*6 + mb)
18572 p_index = p_index + 1
18573 tmp = scale*prim(p_index)
18574 ks_bc = ks_bc + tmp*pad((md - 1)*4 + ma)
18575 ks_bd = ks_bd + tmp*pac((mc - 1)*4 + ma)
18576 kad((md - 1)*4 + ma) = kad((md - 1)*4 + ma) - tmp*p_bc
18577 kac((mc - 1)*4 + ma) = kac((mc - 1)*4 + ma) - tmp*p_bd
18579 kbd((md - 1)*6 + mb) = kbd((md - 1)*6 + mb) - ks_bd
18580 kbc((mc - 1)*6 + mb) = kbc((mc - 1)*6 + mb) - ks_bc
18584 END SUBROUTINE block_4_6
18600 SUBROUTINE block_4_7(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
18601 INTEGER :: mc_max, md_max
18602 REAL(kind=
dp) :: kbd(7*md_max), kbc(7*mc_max), kad(4*md_max), kac(4*mc_max), pbd(7*md_max), &
18603 pbc(7*mc_max), pad(4*md_max), pac(4*mc_max), prim(4*7*mc_max*md_max), scale
18605 INTEGER :: ma, mb, mc, md, p_index
18606 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
18608 kbd(1:7*md_max) = 0.0_dp
18609 kbc(1:7*mc_max) = 0.0_dp
18610 kad(1:4*md_max) = 0.0_dp
18611 kac(1:4*mc_max) = 0.0_dp
18618 p_bd = pbd((md - 1)*7 + mb)
18619 p_bc =
pbc((mc - 1)*7 + mb)
18621 p_index = p_index + 1
18622 tmp = scale*prim(p_index)
18623 ks_bc = ks_bc + tmp*pad((md - 1)*4 + ma)
18624 ks_bd = ks_bd + tmp*pac((mc - 1)*4 + ma)
18625 kad((md - 1)*4 + ma) = kad((md - 1)*4 + ma) - tmp*p_bc
18626 kac((mc - 1)*4 + ma) = kac((mc - 1)*4 + ma) - tmp*p_bd
18628 kbd((md - 1)*7 + mb) = kbd((md - 1)*7 + mb) - ks_bd
18629 kbc((mc - 1)*7 + mb) = kbc((mc - 1)*7 + mb) - ks_bc
18633 END SUBROUTINE block_4_7
18649 SUBROUTINE block_4_9(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
18650 INTEGER :: mc_max, md_max
18651 REAL(kind=
dp) :: kbd(9*md_max), kbc(9*mc_max), kad(4*md_max), kac(4*mc_max), pbd(9*md_max), &
18652 pbc(9*mc_max), pad(4*md_max), pac(4*mc_max), prim(4*9*mc_max*md_max), scale
18654 INTEGER :: ma, mb, mc, md, p_index
18655 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
18657 kbd(1:9*md_max) = 0.0_dp
18658 kbc(1:9*mc_max) = 0.0_dp
18659 kad(1:4*md_max) = 0.0_dp
18660 kac(1:4*mc_max) = 0.0_dp
18667 p_bd = pbd((md - 1)*9 + mb)
18668 p_bc =
pbc((mc - 1)*9 + mb)
18670 p_index = p_index + 1
18671 tmp = scale*prim(p_index)
18672 ks_bc = ks_bc + tmp*pad((md - 1)*4 + ma)
18673 ks_bd = ks_bd + tmp*pac((mc - 1)*4 + ma)
18674 kad((md - 1)*4 + ma) = kad((md - 1)*4 + ma) - tmp*p_bc
18675 kac((mc - 1)*4 + ma) = kac((mc - 1)*4 + ma) - tmp*p_bd
18677 kbd((md - 1)*9 + mb) = kbd((md - 1)*9 + mb) - ks_bd
18678 kbc((mc - 1)*9 + mb) = kbc((mc - 1)*9 + mb) - ks_bc
18682 END SUBROUTINE block_4_9
18698 SUBROUTINE block_4_10(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
18699 INTEGER :: mc_max, md_max
18700 REAL(kind=
dp) :: kbd(10*md_max), kbc(10*mc_max), kad(4*md_max), kac(4*mc_max), &
18701 pbd(10*md_max),
pbc(10*mc_max), pad(4*md_max), pac(4*mc_max), prim(4*10*mc_max*md_max), &
18704 INTEGER :: ma, mb, mc, md, p_index
18705 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
18707 kbd(1:10*md_max) = 0.0_dp
18708 kbc(1:10*mc_max) = 0.0_dp
18709 kad(1:4*md_max) = 0.0_dp
18710 kac(1:4*mc_max) = 0.0_dp
18717 p_bd = pbd((md - 1)*10 + mb)
18718 p_bc =
pbc((mc - 1)*10 + mb)
18720 p_index = p_index + 1
18721 tmp = scale*prim(p_index)
18722 ks_bc = ks_bc + tmp*pad((md - 1)*4 + ma)
18723 ks_bd = ks_bd + tmp*pac((mc - 1)*4 + ma)
18724 kad((md - 1)*4 + ma) = kad((md - 1)*4 + ma) - tmp*p_bc
18725 kac((mc - 1)*4 + ma) = kac((mc - 1)*4 + ma) - tmp*p_bd
18727 kbd((md - 1)*10 + mb) = kbd((md - 1)*10 + mb) - ks_bd
18728 kbc((mc - 1)*10 + mb) = kbc((mc - 1)*10 + mb) - ks_bc
18732 END SUBROUTINE block_4_10
18748 SUBROUTINE block_4_11(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
18749 INTEGER :: mc_max, md_max
18750 REAL(kind=
dp) :: kbd(11*md_max), kbc(11*mc_max), kad(4*md_max), kac(4*mc_max), &
18751 pbd(11*md_max),
pbc(11*mc_max), pad(4*md_max), pac(4*mc_max), prim(4*11*mc_max*md_max), &
18754 INTEGER :: ma, mb, mc, md, p_index
18755 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
18757 kbd(1:11*md_max) = 0.0_dp
18758 kbc(1:11*mc_max) = 0.0_dp
18759 kad(1:4*md_max) = 0.0_dp
18760 kac(1:4*mc_max) = 0.0_dp
18767 p_bd = pbd((md - 1)*11 + mb)
18768 p_bc =
pbc((mc - 1)*11 + mb)
18770 p_index = p_index + 1
18771 tmp = scale*prim(p_index)
18772 ks_bc = ks_bc + tmp*pad((md - 1)*4 + ma)
18773 ks_bd = ks_bd + tmp*pac((mc - 1)*4 + ma)
18774 kad((md - 1)*4 + ma) = kad((md - 1)*4 + ma) - tmp*p_bc
18775 kac((mc - 1)*4 + ma) = kac((mc - 1)*4 + ma) - tmp*p_bd
18777 kbd((md - 1)*11 + mb) = kbd((md - 1)*11 + mb) - ks_bd
18778 kbc((mc - 1)*11 + mb) = kbc((mc - 1)*11 + mb) - ks_bc
18782 END SUBROUTINE block_4_11
18798 SUBROUTINE block_4_15(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
18799 INTEGER :: mc_max, md_max
18800 REAL(kind=
dp) :: kbd(15*md_max), kbc(15*mc_max), kad(4*md_max), kac(4*mc_max), &
18801 pbd(15*md_max),
pbc(15*mc_max), pad(4*md_max), pac(4*mc_max), prim(4*15*mc_max*md_max), &
18804 INTEGER :: ma, mb, mc, md, p_index
18805 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
18807 kbd(1:15*md_max) = 0.0_dp
18808 kbc(1:15*mc_max) = 0.0_dp
18809 kad(1:4*md_max) = 0.0_dp
18810 kac(1:4*mc_max) = 0.0_dp
18817 p_bd = pbd((md - 1)*15 + mb)
18818 p_bc =
pbc((mc - 1)*15 + mb)
18820 p_index = p_index + 1
18821 tmp = scale*prim(p_index)
18822 ks_bc = ks_bc + tmp*pad((md - 1)*4 + ma)
18823 ks_bd = ks_bd + tmp*pac((mc - 1)*4 + ma)
18824 kad((md - 1)*4 + ma) = kad((md - 1)*4 + ma) - tmp*p_bc
18825 kac((mc - 1)*4 + ma) = kac((mc - 1)*4 + ma) - tmp*p_bd
18827 kbd((md - 1)*15 + mb) = kbd((md - 1)*15 + mb) - ks_bd
18828 kbc((mc - 1)*15 + mb) = kbc((mc - 1)*15 + mb) - ks_bc
18832 END SUBROUTINE block_4_15
18846 SUBROUTINE block_5_1_1_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
18847 REAL(kind=
dp) :: kbd(1*1), kbc(1*1), kad(5*1), kac(5*1), &
18848 pbd(1*1),
pbc(1*1), pad(5*1), &
18849 pac(5*1), prim(5*1*1*1), scale
18851 INTEGER :: ma, mb, mc, md, p_index
18852 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
18854 kbd(1:1*1) = 0.0_dp
18855 kbc(1:1*1) = 0.0_dp
18856 kad(1:5*1) = 0.0_dp
18857 kac(1:5*1) = 0.0_dp
18864 p_bd = pbd((md - 1)*1 + mb)
18865 p_bc =
pbc((mc - 1)*1 + mb)
18867 p_index = p_index + 1
18868 tmp = scale*prim(p_index)
18869 ks_bc = ks_bc + tmp*pad((md - 1)*5 + ma)
18870 ks_bd = ks_bd + tmp*pac((mc - 1)*5 + ma)
18871 kad((md - 1)*5 + ma) = kad((md - 1)*5 + ma) - tmp*p_bc
18872 kac((mc - 1)*5 + ma) = kac((mc - 1)*5 + ma) - tmp*p_bd
18874 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
18875 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
18879 END SUBROUTINE block_5_1_1_1
18893 SUBROUTINE block_5_1_1_2(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
18894 REAL(kind=
dp) :: kbd(1*2), kbc(1*1), kad(5*2), kac(5*1), &
18895 pbd(1*2),
pbc(1*1), pad(5*2), &
18896 pac(5*1), prim(5*1*1*2), scale
18898 INTEGER :: ma, mb, mc, md, p_index
18899 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
18901 kbd(1:1*2) = 0.0_dp
18902 kbc(1:1*1) = 0.0_dp
18903 kad(1:5*2) = 0.0_dp
18904 kac(1:5*1) = 0.0_dp
18911 p_bd = pbd((md - 1)*1 + mb)
18912 p_bc =
pbc((mc - 1)*1 + mb)
18914 p_index = p_index + 1
18915 tmp = scale*prim(p_index)
18916 ks_bc = ks_bc + tmp*pad((md - 1)*5 + ma)
18917 ks_bd = ks_bd + tmp*pac((mc - 1)*5 + ma)
18918 kad((md - 1)*5 + ma) = kad((md - 1)*5 + ma) - tmp*p_bc
18919 kac((mc - 1)*5 + ma) = kac((mc - 1)*5 + ma) - tmp*p_bd
18921 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
18922 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
18926 END SUBROUTINE block_5_1_1_2
18940 SUBROUTINE block_5_1_1_3(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
18941 REAL(kind=
dp) :: kbd(1*3), kbc(1*1), kad(5*3), kac(5*1), &
18942 pbd(1*3),
pbc(1*1), pad(5*3), &
18943 pac(5*1), prim(5*1*1*3), scale
18945 INTEGER :: ma, mb, mc, md, p_index
18946 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
18948 kbd(1:1*3) = 0.0_dp
18949 kbc(1:1*1) = 0.0_dp
18950 kad(1:5*3) = 0.0_dp
18951 kac(1:5*1) = 0.0_dp
18958 p_bd = pbd((md - 1)*1 + mb)
18959 p_bc =
pbc((mc - 1)*1 + mb)
18961 p_index = p_index + 1
18962 tmp = scale*prim(p_index)
18963 ks_bc = ks_bc + tmp*pad((md - 1)*5 + ma)
18964 ks_bd = ks_bd + tmp*pac((mc - 1)*5 + ma)
18965 kad((md - 1)*5 + ma) = kad((md - 1)*5 + ma) - tmp*p_bc
18966 kac((mc - 1)*5 + ma) = kac((mc - 1)*5 + ma) - tmp*p_bd
18968 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
18969 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
18973 END SUBROUTINE block_5_1_1_3
18988 SUBROUTINE block_5_1_1(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
18990 REAL(kind=
dp) :: kbd(1*md_max), kbc(1*1), kad(5*md_max), kac(5*1), pbd(1*md_max),
pbc(1*1), &
18991 pad(5*md_max), pac(5*1), prim(5*1*1*md_max), scale
18993 INTEGER :: ma, mb, mc, md, p_index
18994 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
18996 kbd(1:1*md_max) = 0.0_dp
18997 kbc(1:1*1) = 0.0_dp
18998 kad(1:5*md_max) = 0.0_dp
18999 kac(1:5*1) = 0.0_dp
19006 p_bd = pbd((md - 1)*1 + mb)
19007 p_bc =
pbc((mc - 1)*1 + mb)
19009 p_index = p_index + 1
19010 tmp = scale*prim(p_index)
19011 ks_bc = ks_bc + tmp*pad((md - 1)*5 + ma)
19012 ks_bd = ks_bd + tmp*pac((mc - 1)*5 + ma)
19013 kad((md - 1)*5 + ma) = kad((md - 1)*5 + ma) - tmp*p_bc
19014 kac((mc - 1)*5 + ma) = kac((mc - 1)*5 + ma) - tmp*p_bd
19016 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
19017 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
19021 END SUBROUTINE block_5_1_1
19035 SUBROUTINE block_5_1_2_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
19036 REAL(kind=
dp) :: kbd(1*1), kbc(1*2), kad(5*1), kac(5*2), &
19037 pbd(1*1),
pbc(1*2), pad(5*1), &
19038 pac(5*2), prim(5*1*2*1), scale
19040 INTEGER :: ma, mb, mc, md, p_index
19041 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
19043 kbd(1:1*1) = 0.0_dp
19044 kbc(1:1*2) = 0.0_dp
19045 kad(1:5*1) = 0.0_dp
19046 kac(1:5*2) = 0.0_dp
19053 p_bd = pbd((md - 1)*1 + mb)
19054 p_bc =
pbc((mc - 1)*1 + mb)
19056 p_index = p_index + 1
19057 tmp = scale*prim(p_index)
19058 ks_bc = ks_bc + tmp*pad((md - 1)*5 + ma)
19059 ks_bd = ks_bd + tmp*pac((mc - 1)*5 + ma)
19060 kad((md - 1)*5 + ma) = kad((md - 1)*5 + ma) - tmp*p_bc
19061 kac((mc - 1)*5 + ma) = kac((mc - 1)*5 + ma) - tmp*p_bd
19063 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
19064 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
19068 END SUBROUTINE block_5_1_2_1
19083 SUBROUTINE block_5_1_2(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
19085 REAL(kind=
dp) :: kbd(1*md_max), kbc(1*2), kad(5*md_max), kac(5*2), pbd(1*md_max),
pbc(1*2), &
19086 pad(5*md_max), pac(5*2), prim(5*1*2*md_max), scale
19088 INTEGER :: ma, mb, mc, md, p_index
19089 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
19091 kbd(1:1*md_max) = 0.0_dp
19092 kbc(1:1*2) = 0.0_dp
19093 kad(1:5*md_max) = 0.0_dp
19094 kac(1:5*2) = 0.0_dp
19101 p_bd = pbd((md - 1)*1 + mb)
19102 p_bc =
pbc((mc - 1)*1 + mb)
19104 p_index = p_index + 1
19105 tmp = scale*prim(p_index)
19106 ks_bc = ks_bc + tmp*pad((md - 1)*5 + ma)
19107 ks_bd = ks_bd + tmp*pac((mc - 1)*5 + ma)
19108 kad((md - 1)*5 + ma) = kad((md - 1)*5 + ma) - tmp*p_bc
19109 kac((mc - 1)*5 + ma) = kac((mc - 1)*5 + ma) - tmp*p_bd
19111 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
19112 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
19116 END SUBROUTINE block_5_1_2
19130 SUBROUTINE block_5_1_3_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
19131 REAL(kind=
dp) :: kbd(1*1), kbc(1*3), kad(5*1), kac(5*3), &
19132 pbd(1*1),
pbc(1*3), pad(5*1), &
19133 pac(5*3), prim(5*1*3*1), scale
19135 INTEGER :: ma, mb, mc, md, p_index
19136 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
19138 kbd(1:1*1) = 0.0_dp
19139 kbc(1:1*3) = 0.0_dp
19140 kad(1:5*1) = 0.0_dp
19141 kac(1:5*3) = 0.0_dp
19148 p_bd = pbd((md - 1)*1 + mb)
19149 p_bc =
pbc((mc - 1)*1 + mb)
19151 p_index = p_index + 1
19152 tmp = scale*prim(p_index)
19153 ks_bc = ks_bc + tmp*pad((md - 1)*5 + ma)
19154 ks_bd = ks_bd + tmp*pac((mc - 1)*5 + ma)
19155 kad((md - 1)*5 + ma) = kad((md - 1)*5 + ma) - tmp*p_bc
19156 kac((mc - 1)*5 + ma) = kac((mc - 1)*5 + ma) - tmp*p_bd
19158 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
19159 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
19163 END SUBROUTINE block_5_1_3_1
19178 SUBROUTINE block_5_1_3(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
19180 REAL(kind=
dp) :: kbd(1*md_max), kbc(1*3), kad(5*md_max), kac(5*3), pbd(1*md_max),
pbc(1*3), &
19181 pad(5*md_max), pac(5*3), prim(5*1*3*md_max), scale
19183 INTEGER :: ma, mb, mc, md, p_index
19184 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
19186 kbd(1:1*md_max) = 0.0_dp
19187 kbc(1:1*3) = 0.0_dp
19188 kad(1:5*md_max) = 0.0_dp
19189 kac(1:5*3) = 0.0_dp
19196 p_bd = pbd((md - 1)*1 + mb)
19197 p_bc =
pbc((mc - 1)*1 + mb)
19199 p_index = p_index + 1
19200 tmp = scale*prim(p_index)
19201 ks_bc = ks_bc + tmp*pad((md - 1)*5 + ma)
19202 ks_bd = ks_bd + tmp*pac((mc - 1)*5 + ma)
19203 kad((md - 1)*5 + ma) = kad((md - 1)*5 + ma) - tmp*p_bc
19204 kac((mc - 1)*5 + ma) = kac((mc - 1)*5 + ma) - tmp*p_bd
19206 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
19207 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
19211 END SUBROUTINE block_5_1_3
19227 SUBROUTINE block_5_1(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
19228 INTEGER :: mc_max, md_max
19229 REAL(kind=
dp) :: kbd(1*md_max), kbc(1*mc_max), kad(5*md_max), kac(5*mc_max), pbd(1*md_max), &
19230 pbc(1*mc_max), pad(5*md_max), pac(5*mc_max), prim(5*1*mc_max*md_max), scale
19232 INTEGER :: ma, mb, mc, md, p_index
19233 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
19235 kbd(1:1*md_max) = 0.0_dp
19236 kbc(1:1*mc_max) = 0.0_dp
19237 kad(1:5*md_max) = 0.0_dp
19238 kac(1:5*mc_max) = 0.0_dp
19245 p_bd = pbd((md - 1)*1 + mb)
19246 p_bc =
pbc((mc - 1)*1 + mb)
19248 p_index = p_index + 1
19249 tmp = scale*prim(p_index)
19250 ks_bc = ks_bc + tmp*pad((md - 1)*5 + ma)
19251 ks_bd = ks_bd + tmp*pac((mc - 1)*5 + ma)
19252 kad((md - 1)*5 + ma) = kad((md - 1)*5 + ma) - tmp*p_bc
19253 kac((mc - 1)*5 + ma) = kac((mc - 1)*5 + ma) - tmp*p_bd
19255 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
19256 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
19260 END SUBROUTINE block_5_1
19274 SUBROUTINE block_5_2_1_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
19275 REAL(kind=
dp) :: kbd(2*1), kbc(2*1), kad(5*1), kac(5*1), &
19276 pbd(2*1),
pbc(2*1), pad(5*1), &
19277 pac(5*1), prim(5*2*1*1), scale
19279 INTEGER :: ma, mb, mc, md, p_index
19280 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
19282 kbd(1:2*1) = 0.0_dp
19283 kbc(1:2*1) = 0.0_dp
19284 kad(1:5*1) = 0.0_dp
19285 kac(1:5*1) = 0.0_dp
19292 p_bd = pbd((md - 1)*2 + mb)
19293 p_bc =
pbc((mc - 1)*2 + mb)
19295 p_index = p_index + 1
19296 tmp = scale*prim(p_index)
19297 ks_bc = ks_bc + tmp*pad((md - 1)*5 + ma)
19298 ks_bd = ks_bd + tmp*pac((mc - 1)*5 + ma)
19299 kad((md - 1)*5 + ma) = kad((md - 1)*5 + ma) - tmp*p_bc
19300 kac((mc - 1)*5 + ma) = kac((mc - 1)*5 + ma) - tmp*p_bd
19302 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
19303 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
19307 END SUBROUTINE block_5_2_1_1
19322 SUBROUTINE block_5_2_1(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
19324 REAL(kind=
dp) :: kbd(2*md_max), kbc(2*1), kad(5*md_max), kac(5*1), pbd(2*md_max),
pbc(2*1), &
19325 pad(5*md_max), pac(5*1), prim(5*2*1*md_max), scale
19327 INTEGER :: ma, mb, mc, md, p_index
19328 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
19330 kbd(1:2*md_max) = 0.0_dp
19331 kbc(1:2*1) = 0.0_dp
19332 kad(1:5*md_max) = 0.0_dp
19333 kac(1:5*1) = 0.0_dp
19340 p_bd = pbd((md - 1)*2 + mb)
19341 p_bc =
pbc((mc - 1)*2 + mb)
19343 p_index = p_index + 1
19344 tmp = scale*prim(p_index)
19345 ks_bc = ks_bc + tmp*pad((md - 1)*5 + ma)
19346 ks_bd = ks_bd + tmp*pac((mc - 1)*5 + ma)
19347 kad((md - 1)*5 + ma) = kad((md - 1)*5 + ma) - tmp*p_bc
19348 kac((mc - 1)*5 + ma) = kac((mc - 1)*5 + ma) - tmp*p_bd
19350 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
19351 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
19355 END SUBROUTINE block_5_2_1
19371 SUBROUTINE block_5_2(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
19372 INTEGER :: mc_max, md_max
19373 REAL(kind=
dp) :: kbd(2*md_max), kbc(2*mc_max), kad(5*md_max), kac(5*mc_max), pbd(2*md_max), &
19374 pbc(2*mc_max), pad(5*md_max), pac(5*mc_max), prim(5*2*mc_max*md_max), scale
19376 INTEGER :: ma, mb, mc, md, p_index
19377 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
19379 kbd(1:2*md_max) = 0.0_dp
19380 kbc(1:2*mc_max) = 0.0_dp
19381 kad(1:5*md_max) = 0.0_dp
19382 kac(1:5*mc_max) = 0.0_dp
19389 p_bd = pbd((md - 1)*2 + mb)
19390 p_bc =
pbc((mc - 1)*2 + mb)
19392 p_index = p_index + 1
19393 tmp = scale*prim(p_index)
19394 ks_bc = ks_bc + tmp*pad((md - 1)*5 + ma)
19395 ks_bd = ks_bd + tmp*pac((mc - 1)*5 + ma)
19396 kad((md - 1)*5 + ma) = kad((md - 1)*5 + ma) - tmp*p_bc
19397 kac((mc - 1)*5 + ma) = kac((mc - 1)*5 + ma) - tmp*p_bd
19399 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
19400 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
19404 END SUBROUTINE block_5_2
19418 SUBROUTINE block_5_3_1_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
19419 REAL(kind=
dp) :: kbd(3*1), kbc(3*1), kad(5*1), kac(5*1), &
19420 pbd(3*1),
pbc(3*1), pad(5*1), &
19421 pac(5*1), prim(5*3*1*1), scale
19423 INTEGER :: ma, mb, mc, md, p_index
19424 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
19426 kbd(1:3*1) = 0.0_dp
19427 kbc(1:3*1) = 0.0_dp
19428 kad(1:5*1) = 0.0_dp
19429 kac(1:5*1) = 0.0_dp
19436 p_bd = pbd((md - 1)*3 + mb)
19437 p_bc =
pbc((mc - 1)*3 + mb)
19439 p_index = p_index + 1
19440 tmp = scale*prim(p_index)
19441 ks_bc = ks_bc + tmp*pad((md - 1)*5 + ma)
19442 ks_bd = ks_bd + tmp*pac((mc - 1)*5 + ma)
19443 kad((md - 1)*5 + ma) = kad((md - 1)*5 + ma) - tmp*p_bc
19444 kac((mc - 1)*5 + ma) = kac((mc - 1)*5 + ma) - tmp*p_bd
19446 kbd((md - 1)*3 + mb) = kbd((md - 1)*3 + mb) - ks_bd
19447 kbc((mc - 1)*3 + mb) = kbc((mc - 1)*3 + mb) - ks_bc
19451 END SUBROUTINE block_5_3_1_1
19466 SUBROUTINE block_5_3_1(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
19468 REAL(kind=
dp) :: kbd(3*md_max), kbc(3*1), kad(5*md_max), kac(5*1), pbd(3*md_max),
pbc(3*1), &
19469 pad(5*md_max), pac(5*1), prim(5*3*1*md_max), scale
19471 INTEGER :: ma, mb, mc, md, p_index
19472 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
19474 kbd(1:3*md_max) = 0.0_dp
19475 kbc(1:3*1) = 0.0_dp
19476 kad(1:5*md_max) = 0.0_dp
19477 kac(1:5*1) = 0.0_dp
19484 p_bd = pbd((md - 1)*3 + mb)
19485 p_bc =
pbc((mc - 1)*3 + mb)
19487 p_index = p_index + 1
19488 tmp = scale*prim(p_index)
19489 ks_bc = ks_bc + tmp*pad((md - 1)*5 + ma)
19490 ks_bd = ks_bd + tmp*pac((mc - 1)*5 + ma)
19491 kad((md - 1)*5 + ma) = kad((md - 1)*5 + ma) - tmp*p_bc
19492 kac((mc - 1)*5 + ma) = kac((mc - 1)*5 + ma) - tmp*p_bd
19494 kbd((md - 1)*3 + mb) = kbd((md - 1)*3 + mb) - ks_bd
19495 kbc((mc - 1)*3 + mb) = kbc((mc - 1)*3 + mb) - ks_bc
19499 END SUBROUTINE block_5_3_1
19515 SUBROUTINE block_5_3(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
19516 INTEGER :: mc_max, md_max
19517 REAL(kind=
dp) :: kbd(3*md_max), kbc(3*mc_max), kad(5*md_max), kac(5*mc_max), pbd(3*md_max), &
19518 pbc(3*mc_max), pad(5*md_max), pac(5*mc_max), prim(5*3*mc_max*md_max), scale
19520 INTEGER :: ma, mb, mc, md, p_index
19521 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
19523 kbd(1:3*md_max) = 0.0_dp
19524 kbc(1:3*mc_max) = 0.0_dp
19525 kad(1:5*md_max) = 0.0_dp
19526 kac(1:5*mc_max) = 0.0_dp
19533 p_bd = pbd((md - 1)*3 + mb)
19534 p_bc =
pbc((mc - 1)*3 + mb)
19536 p_index = p_index + 1
19537 tmp = scale*prim(p_index)
19538 ks_bc = ks_bc + tmp*pad((md - 1)*5 + ma)
19539 ks_bd = ks_bd + tmp*pac((mc - 1)*5 + ma)
19540 kad((md - 1)*5 + ma) = kad((md - 1)*5 + ma) - tmp*p_bc
19541 kac((mc - 1)*5 + ma) = kac((mc - 1)*5 + ma) - tmp*p_bd
19543 kbd((md - 1)*3 + mb) = kbd((md - 1)*3 + mb) - ks_bd
19544 kbc((mc - 1)*3 + mb) = kbc((mc - 1)*3 + mb) - ks_bc
19548 END SUBROUTINE block_5_3
19564 SUBROUTINE block_5_4(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
19565 INTEGER :: mc_max, md_max
19566 REAL(kind=
dp) :: kbd(4*md_max), kbc(4*mc_max), kad(5*md_max), kac(5*mc_max), pbd(4*md_max), &
19567 pbc(4*mc_max), pad(5*md_max), pac(5*mc_max), prim(5*4*mc_max*md_max), scale
19569 INTEGER :: ma, mb, mc, md, p_index
19570 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
19572 kbd(1:4*md_max) = 0.0_dp
19573 kbc(1:4*mc_max) = 0.0_dp
19574 kad(1:5*md_max) = 0.0_dp
19575 kac(1:5*mc_max) = 0.0_dp
19582 p_bd = pbd((md - 1)*4 + mb)
19583 p_bc =
pbc((mc - 1)*4 + mb)
19585 p_index = p_index + 1
19586 tmp = scale*prim(p_index)
19587 ks_bc = ks_bc + tmp*pad((md - 1)*5 + ma)
19588 ks_bd = ks_bd + tmp*pac((mc - 1)*5 + ma)
19589 kad((md - 1)*5 + ma) = kad((md - 1)*5 + ma) - tmp*p_bc
19590 kac((mc - 1)*5 + ma) = kac((mc - 1)*5 + ma) - tmp*p_bd
19592 kbd((md - 1)*4 + mb) = kbd((md - 1)*4 + mb) - ks_bd
19593 kbc((mc - 1)*4 + mb) = kbc((mc - 1)*4 + mb) - ks_bc
19597 END SUBROUTINE block_5_4
19613 SUBROUTINE block_5_5(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
19614 INTEGER :: mc_max, md_max
19615 REAL(kind=
dp) :: kbd(5*md_max), kbc(5*mc_max), kad(5*md_max), kac(5*mc_max), pbd(5*md_max), &
19616 pbc(5*mc_max), pad(5*md_max), pac(5*mc_max), prim(5*5*mc_max*md_max), scale
19618 INTEGER :: ma, mb, mc, md, p_index
19619 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
19621 kbd(1:5*md_max) = 0.0_dp
19622 kbc(1:5*mc_max) = 0.0_dp
19623 kad(1:5*md_max) = 0.0_dp
19624 kac(1:5*mc_max) = 0.0_dp
19631 p_bd = pbd((md - 1)*5 + mb)
19632 p_bc =
pbc((mc - 1)*5 + mb)
19634 p_index = p_index + 1
19635 tmp = scale*prim(p_index)
19636 ks_bc = ks_bc + tmp*pad((md - 1)*5 + ma)
19637 ks_bd = ks_bd + tmp*pac((mc - 1)*5 + ma)
19638 kad((md - 1)*5 + ma) = kad((md - 1)*5 + ma) - tmp*p_bc
19639 kac((mc - 1)*5 + ma) = kac((mc - 1)*5 + ma) - tmp*p_bd
19641 kbd((md - 1)*5 + mb) = kbd((md - 1)*5 + mb) - ks_bd
19642 kbc((mc - 1)*5 + mb) = kbc((mc - 1)*5 + mb) - ks_bc
19646 END SUBROUTINE block_5_5
19662 SUBROUTINE block_5_6(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
19663 INTEGER :: mc_max, md_max
19664 REAL(kind=
dp) :: kbd(6*md_max), kbc(6*mc_max), kad(5*md_max), kac(5*mc_max), pbd(6*md_max), &
19665 pbc(6*mc_max), pad(5*md_max), pac(5*mc_max), prim(5*6*mc_max*md_max), scale
19667 INTEGER :: ma, mb, mc, md, p_index
19668 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
19670 kbd(1:6*md_max) = 0.0_dp
19671 kbc(1:6*mc_max) = 0.0_dp
19672 kad(1:5*md_max) = 0.0_dp
19673 kac(1:5*mc_max) = 0.0_dp
19680 p_bd = pbd((md - 1)*6 + mb)
19681 p_bc =
pbc((mc - 1)*6 + mb)
19683 p_index = p_index + 1
19684 tmp = scale*prim(p_index)
19685 ks_bc = ks_bc + tmp*pad((md - 1)*5 + ma)
19686 ks_bd = ks_bd + tmp*pac((mc - 1)*5 + ma)
19687 kad((md - 1)*5 + ma) = kad((md - 1)*5 + ma) - tmp*p_bc
19688 kac((mc - 1)*5 + ma) = kac((mc - 1)*5 + ma) - tmp*p_bd
19690 kbd((md - 1)*6 + mb) = kbd((md - 1)*6 + mb) - ks_bd
19691 kbc((mc - 1)*6 + mb) = kbc((mc - 1)*6 + mb) - ks_bc
19695 END SUBROUTINE block_5_6
19711 SUBROUTINE block_5_7(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
19712 INTEGER :: mc_max, md_max
19713 REAL(kind=
dp) :: kbd(7*md_max), kbc(7*mc_max), kad(5*md_max), kac(5*mc_max), pbd(7*md_max), &
19714 pbc(7*mc_max), pad(5*md_max), pac(5*mc_max), prim(5*7*mc_max*md_max), scale
19716 INTEGER :: ma, mb, mc, md, p_index
19717 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
19719 kbd(1:7*md_max) = 0.0_dp
19720 kbc(1:7*mc_max) = 0.0_dp
19721 kad(1:5*md_max) = 0.0_dp
19722 kac(1:5*mc_max) = 0.0_dp
19729 p_bd = pbd((md - 1)*7 + mb)
19730 p_bc =
pbc((mc - 1)*7 + mb)
19732 p_index = p_index + 1
19733 tmp = scale*prim(p_index)
19734 ks_bc = ks_bc + tmp*pad((md - 1)*5 + ma)
19735 ks_bd = ks_bd + tmp*pac((mc - 1)*5 + ma)
19736 kad((md - 1)*5 + ma) = kad((md - 1)*5 + ma) - tmp*p_bc
19737 kac((mc - 1)*5 + ma) = kac((mc - 1)*5 + ma) - tmp*p_bd
19739 kbd((md - 1)*7 + mb) = kbd((md - 1)*7 + mb) - ks_bd
19740 kbc((mc - 1)*7 + mb) = kbc((mc - 1)*7 + mb) - ks_bc
19744 END SUBROUTINE block_5_7
19760 SUBROUTINE block_5_9(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
19761 INTEGER :: mc_max, md_max
19762 REAL(kind=
dp) :: kbd(9*md_max), kbc(9*mc_max), kad(5*md_max), kac(5*mc_max), pbd(9*md_max), &
19763 pbc(9*mc_max), pad(5*md_max), pac(5*mc_max), prim(5*9*mc_max*md_max), scale
19765 INTEGER :: ma, mb, mc, md, p_index
19766 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
19768 kbd(1:9*md_max) = 0.0_dp
19769 kbc(1:9*mc_max) = 0.0_dp
19770 kad(1:5*md_max) = 0.0_dp
19771 kac(1:5*mc_max) = 0.0_dp
19778 p_bd = pbd((md - 1)*9 + mb)
19779 p_bc =
pbc((mc - 1)*9 + mb)
19781 p_index = p_index + 1
19782 tmp = scale*prim(p_index)
19783 ks_bc = ks_bc + tmp*pad((md - 1)*5 + ma)
19784 ks_bd = ks_bd + tmp*pac((mc - 1)*5 + ma)
19785 kad((md - 1)*5 + ma) = kad((md - 1)*5 + ma) - tmp*p_bc
19786 kac((mc - 1)*5 + ma) = kac((mc - 1)*5 + ma) - tmp*p_bd
19788 kbd((md - 1)*9 + mb) = kbd((md - 1)*9 + mb) - ks_bd
19789 kbc((mc - 1)*9 + mb) = kbc((mc - 1)*9 + mb) - ks_bc
19793 END SUBROUTINE block_5_9
19809 SUBROUTINE block_5_10(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
19810 INTEGER :: mc_max, md_max
19811 REAL(kind=
dp) :: kbd(10*md_max), kbc(10*mc_max), kad(5*md_max), kac(5*mc_max), &
19812 pbd(10*md_max),
pbc(10*mc_max), pad(5*md_max), pac(5*mc_max), prim(5*10*mc_max*md_max), &
19815 INTEGER :: ma, mb, mc, md, p_index
19816 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
19818 kbd(1:10*md_max) = 0.0_dp
19819 kbc(1:10*mc_max) = 0.0_dp
19820 kad(1:5*md_max) = 0.0_dp
19821 kac(1:5*mc_max) = 0.0_dp
19828 p_bd = pbd((md - 1)*10 + mb)
19829 p_bc =
pbc((mc - 1)*10 + mb)
19831 p_index = p_index + 1
19832 tmp = scale*prim(p_index)
19833 ks_bc = ks_bc + tmp*pad((md - 1)*5 + ma)
19834 ks_bd = ks_bd + tmp*pac((mc - 1)*5 + ma)
19835 kad((md - 1)*5 + ma) = kad((md - 1)*5 + ma) - tmp*p_bc
19836 kac((mc - 1)*5 + ma) = kac((mc - 1)*5 + ma) - tmp*p_bd
19838 kbd((md - 1)*10 + mb) = kbd((md - 1)*10 + mb) - ks_bd
19839 kbc((mc - 1)*10 + mb) = kbc((mc - 1)*10 + mb) - ks_bc
19843 END SUBROUTINE block_5_10
19859 SUBROUTINE block_5_11(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
19860 INTEGER :: mc_max, md_max
19861 REAL(kind=
dp) :: kbd(11*md_max), kbc(11*mc_max), kad(5*md_max), kac(5*mc_max), &
19862 pbd(11*md_max),
pbc(11*mc_max), pad(5*md_max), pac(5*mc_max), prim(5*11*mc_max*md_max), &
19865 INTEGER :: ma, mb, mc, md, p_index
19866 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
19868 kbd(1:11*md_max) = 0.0_dp
19869 kbc(1:11*mc_max) = 0.0_dp
19870 kad(1:5*md_max) = 0.0_dp
19871 kac(1:5*mc_max) = 0.0_dp
19878 p_bd = pbd((md - 1)*11 + mb)
19879 p_bc =
pbc((mc - 1)*11 + mb)
19881 p_index = p_index + 1
19882 tmp = scale*prim(p_index)
19883 ks_bc = ks_bc + tmp*pad((md - 1)*5 + ma)
19884 ks_bd = ks_bd + tmp*pac((mc - 1)*5 + ma)
19885 kad((md - 1)*5 + ma) = kad((md - 1)*5 + ma) - tmp*p_bc
19886 kac((mc - 1)*5 + ma) = kac((mc - 1)*5 + ma) - tmp*p_bd
19888 kbd((md - 1)*11 + mb) = kbd((md - 1)*11 + mb) - ks_bd
19889 kbc((mc - 1)*11 + mb) = kbc((mc - 1)*11 + mb) - ks_bc
19893 END SUBROUTINE block_5_11
19909 SUBROUTINE block_5_15(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
19910 INTEGER :: mc_max, md_max
19911 REAL(kind=
dp) :: kbd(15*md_max), kbc(15*mc_max), kad(5*md_max), kac(5*mc_max), &
19912 pbd(15*md_max),
pbc(15*mc_max), pad(5*md_max), pac(5*mc_max), prim(5*15*mc_max*md_max), &
19915 INTEGER :: ma, mb, mc, md, p_index
19916 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
19918 kbd(1:15*md_max) = 0.0_dp
19919 kbc(1:15*mc_max) = 0.0_dp
19920 kad(1:5*md_max) = 0.0_dp
19921 kac(1:5*mc_max) = 0.0_dp
19928 p_bd = pbd((md - 1)*15 + mb)
19929 p_bc =
pbc((mc - 1)*15 + mb)
19931 p_index = p_index + 1
19932 tmp = scale*prim(p_index)
19933 ks_bc = ks_bc + tmp*pad((md - 1)*5 + ma)
19934 ks_bd = ks_bd + tmp*pac((mc - 1)*5 + ma)
19935 kad((md - 1)*5 + ma) = kad((md - 1)*5 + ma) - tmp*p_bc
19936 kac((mc - 1)*5 + ma) = kac((mc - 1)*5 + ma) - tmp*p_bd
19938 kbd((md - 1)*15 + mb) = kbd((md - 1)*15 + mb) - ks_bd
19939 kbc((mc - 1)*15 + mb) = kbc((mc - 1)*15 + mb) - ks_bc
19943 END SUBROUTINE block_5_15
19957 SUBROUTINE block_6_1_1_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
19958 REAL(kind=
dp) :: kbd(1*1), kbc(1*1), kad(6*1), kac(6*1), &
19959 pbd(1*1),
pbc(1*1), pad(6*1), &
19960 pac(6*1), prim(6*1*1*1), scale
19962 INTEGER :: ma, mb, mc, md, p_index
19963 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
19965 kbd(1:1*1) = 0.0_dp
19966 kbc(1:1*1) = 0.0_dp
19967 kad(1:6*1) = 0.0_dp
19968 kac(1:6*1) = 0.0_dp
19975 p_bd = pbd((md - 1)*1 + mb)
19976 p_bc =
pbc((mc - 1)*1 + mb)
19978 p_index = p_index + 1
19979 tmp = scale*prim(p_index)
19980 ks_bc = ks_bc + tmp*pad((md - 1)*6 + ma)
19981 ks_bd = ks_bd + tmp*pac((mc - 1)*6 + ma)
19982 kad((md - 1)*6 + ma) = kad((md - 1)*6 + ma) - tmp*p_bc
19983 kac((mc - 1)*6 + ma) = kac((mc - 1)*6 + ma) - tmp*p_bd
19985 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
19986 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
19990 END SUBROUTINE block_6_1_1_1
20004 SUBROUTINE block_6_1_1_2(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
20005 REAL(kind=
dp) :: kbd(1*2), kbc(1*1), kad(6*2), kac(6*1), &
20006 pbd(1*2),
pbc(1*1), pad(6*2), &
20007 pac(6*1), prim(6*1*1*2), scale
20009 INTEGER :: ma, mb, mc, md, p_index
20010 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
20012 kbd(1:1*2) = 0.0_dp
20013 kbc(1:1*1) = 0.0_dp
20014 kad(1:6*2) = 0.0_dp
20015 kac(1:6*1) = 0.0_dp
20022 p_bd = pbd((md - 1)*1 + mb)
20023 p_bc =
pbc((mc - 1)*1 + mb)
20025 p_index = p_index + 1
20026 tmp = scale*prim(p_index)
20027 ks_bc = ks_bc + tmp*pad((md - 1)*6 + ma)
20028 ks_bd = ks_bd + tmp*pac((mc - 1)*6 + ma)
20029 kad((md - 1)*6 + ma) = kad((md - 1)*6 + ma) - tmp*p_bc
20030 kac((mc - 1)*6 + ma) = kac((mc - 1)*6 + ma) - tmp*p_bd
20032 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
20033 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
20037 END SUBROUTINE block_6_1_1_2
20051 SUBROUTINE block_6_1_1_3(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
20052 REAL(kind=
dp) :: kbd(1*3), kbc(1*1), kad(6*3), kac(6*1), &
20053 pbd(1*3),
pbc(1*1), pad(6*3), &
20054 pac(6*1), prim(6*1*1*3), scale
20056 INTEGER :: ma, mb, mc, md, p_index
20057 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
20059 kbd(1:1*3) = 0.0_dp
20060 kbc(1:1*1) = 0.0_dp
20061 kad(1:6*3) = 0.0_dp
20062 kac(1:6*1) = 0.0_dp
20069 p_bd = pbd((md - 1)*1 + mb)
20070 p_bc =
pbc((mc - 1)*1 + mb)
20072 p_index = p_index + 1
20073 tmp = scale*prim(p_index)
20074 ks_bc = ks_bc + tmp*pad((md - 1)*6 + ma)
20075 ks_bd = ks_bd + tmp*pac((mc - 1)*6 + ma)
20076 kad((md - 1)*6 + ma) = kad((md - 1)*6 + ma) - tmp*p_bc
20077 kac((mc - 1)*6 + ma) = kac((mc - 1)*6 + ma) - tmp*p_bd
20079 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
20080 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
20084 END SUBROUTINE block_6_1_1_3
20099 SUBROUTINE block_6_1_1(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
20101 REAL(kind=
dp) :: kbd(1*md_max), kbc(1*1), kad(6*md_max), kac(6*1), pbd(1*md_max),
pbc(1*1), &
20102 pad(6*md_max), pac(6*1), prim(6*1*1*md_max), scale
20104 INTEGER :: ma, mb, mc, md, p_index
20105 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
20107 kbd(1:1*md_max) = 0.0_dp
20108 kbc(1:1*1) = 0.0_dp
20109 kad(1:6*md_max) = 0.0_dp
20110 kac(1:6*1) = 0.0_dp
20117 p_bd = pbd((md - 1)*1 + mb)
20118 p_bc =
pbc((mc - 1)*1 + mb)
20120 p_index = p_index + 1
20121 tmp = scale*prim(p_index)
20122 ks_bc = ks_bc + tmp*pad((md - 1)*6 + ma)
20123 ks_bd = ks_bd + tmp*pac((mc - 1)*6 + ma)
20124 kad((md - 1)*6 + ma) = kad((md - 1)*6 + ma) - tmp*p_bc
20125 kac((mc - 1)*6 + ma) = kac((mc - 1)*6 + ma) - tmp*p_bd
20127 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
20128 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
20132 END SUBROUTINE block_6_1_1
20146 SUBROUTINE block_6_1_2_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
20147 REAL(kind=
dp) :: kbd(1*1), kbc(1*2), kad(6*1), kac(6*2), &
20148 pbd(1*1),
pbc(1*2), pad(6*1), &
20149 pac(6*2), prim(6*1*2*1), scale
20151 INTEGER :: ma, mb, mc, md, p_index
20152 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
20154 kbd(1:1*1) = 0.0_dp
20155 kbc(1:1*2) = 0.0_dp
20156 kad(1:6*1) = 0.0_dp
20157 kac(1:6*2) = 0.0_dp
20164 p_bd = pbd((md - 1)*1 + mb)
20165 p_bc =
pbc((mc - 1)*1 + mb)
20167 p_index = p_index + 1
20168 tmp = scale*prim(p_index)
20169 ks_bc = ks_bc + tmp*pad((md - 1)*6 + ma)
20170 ks_bd = ks_bd + tmp*pac((mc - 1)*6 + ma)
20171 kad((md - 1)*6 + ma) = kad((md - 1)*6 + ma) - tmp*p_bc
20172 kac((mc - 1)*6 + ma) = kac((mc - 1)*6 + ma) - tmp*p_bd
20174 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
20175 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
20179 END SUBROUTINE block_6_1_2_1
20194 SUBROUTINE block_6_1_2(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
20196 REAL(kind=
dp) :: kbd(1*md_max), kbc(1*2), kad(6*md_max), kac(6*2), pbd(1*md_max),
pbc(1*2), &
20197 pad(6*md_max), pac(6*2), prim(6*1*2*md_max), scale
20199 INTEGER :: ma, mb, mc, md, p_index
20200 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
20202 kbd(1:1*md_max) = 0.0_dp
20203 kbc(1:1*2) = 0.0_dp
20204 kad(1:6*md_max) = 0.0_dp
20205 kac(1:6*2) = 0.0_dp
20212 p_bd = pbd((md - 1)*1 + mb)
20213 p_bc =
pbc((mc - 1)*1 + mb)
20215 p_index = p_index + 1
20216 tmp = scale*prim(p_index)
20217 ks_bc = ks_bc + tmp*pad((md - 1)*6 + ma)
20218 ks_bd = ks_bd + tmp*pac((mc - 1)*6 + ma)
20219 kad((md - 1)*6 + ma) = kad((md - 1)*6 + ma) - tmp*p_bc
20220 kac((mc - 1)*6 + ma) = kac((mc - 1)*6 + ma) - tmp*p_bd
20222 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
20223 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
20227 END SUBROUTINE block_6_1_2
20241 SUBROUTINE block_6_1_3_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
20242 REAL(kind=
dp) :: kbd(1*1), kbc(1*3), kad(6*1), kac(6*3), &
20243 pbd(1*1),
pbc(1*3), pad(6*1), &
20244 pac(6*3), prim(6*1*3*1), scale
20246 INTEGER :: ma, mb, mc, md, p_index
20247 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
20249 kbd(1:1*1) = 0.0_dp
20250 kbc(1:1*3) = 0.0_dp
20251 kad(1:6*1) = 0.0_dp
20252 kac(1:6*3) = 0.0_dp
20259 p_bd = pbd((md - 1)*1 + mb)
20260 p_bc =
pbc((mc - 1)*1 + mb)
20262 p_index = p_index + 1
20263 tmp = scale*prim(p_index)
20264 ks_bc = ks_bc + tmp*pad((md - 1)*6 + ma)
20265 ks_bd = ks_bd + tmp*pac((mc - 1)*6 + ma)
20266 kad((md - 1)*6 + ma) = kad((md - 1)*6 + ma) - tmp*p_bc
20267 kac((mc - 1)*6 + ma) = kac((mc - 1)*6 + ma) - tmp*p_bd
20269 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
20270 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
20274 END SUBROUTINE block_6_1_3_1
20289 SUBROUTINE block_6_1_3(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
20291 REAL(kind=
dp) :: kbd(1*md_max), kbc(1*3), kad(6*md_max), kac(6*3), pbd(1*md_max),
pbc(1*3), &
20292 pad(6*md_max), pac(6*3), prim(6*1*3*md_max), scale
20294 INTEGER :: ma, mb, mc, md, p_index
20295 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
20297 kbd(1:1*md_max) = 0.0_dp
20298 kbc(1:1*3) = 0.0_dp
20299 kad(1:6*md_max) = 0.0_dp
20300 kac(1:6*3) = 0.0_dp
20307 p_bd = pbd((md - 1)*1 + mb)
20308 p_bc =
pbc((mc - 1)*1 + mb)
20310 p_index = p_index + 1
20311 tmp = scale*prim(p_index)
20312 ks_bc = ks_bc + tmp*pad((md - 1)*6 + ma)
20313 ks_bd = ks_bd + tmp*pac((mc - 1)*6 + ma)
20314 kad((md - 1)*6 + ma) = kad((md - 1)*6 + ma) - tmp*p_bc
20315 kac((mc - 1)*6 + ma) = kac((mc - 1)*6 + ma) - tmp*p_bd
20317 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
20318 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
20322 END SUBROUTINE block_6_1_3
20338 SUBROUTINE block_6_1(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
20339 INTEGER :: mc_max, md_max
20340 REAL(kind=
dp) :: kbd(1*md_max), kbc(1*mc_max), kad(6*md_max), kac(6*mc_max), pbd(1*md_max), &
20341 pbc(1*mc_max), pad(6*md_max), pac(6*mc_max), prim(6*1*mc_max*md_max), scale
20343 INTEGER :: ma, mb, mc, md, p_index
20344 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
20346 kbd(1:1*md_max) = 0.0_dp
20347 kbc(1:1*mc_max) = 0.0_dp
20348 kad(1:6*md_max) = 0.0_dp
20349 kac(1:6*mc_max) = 0.0_dp
20356 p_bd = pbd((md - 1)*1 + mb)
20357 p_bc =
pbc((mc - 1)*1 + mb)
20359 p_index = p_index + 1
20360 tmp = scale*prim(p_index)
20361 ks_bc = ks_bc + tmp*pad((md - 1)*6 + ma)
20362 ks_bd = ks_bd + tmp*pac((mc - 1)*6 + ma)
20363 kad((md - 1)*6 + ma) = kad((md - 1)*6 + ma) - tmp*p_bc
20364 kac((mc - 1)*6 + ma) = kac((mc - 1)*6 + ma) - tmp*p_bd
20366 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
20367 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
20371 END SUBROUTINE block_6_1
20385 SUBROUTINE block_6_2_1_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
20386 REAL(kind=
dp) :: kbd(2*1), kbc(2*1), kad(6*1), kac(6*1), &
20387 pbd(2*1),
pbc(2*1), pad(6*1), &
20388 pac(6*1), prim(6*2*1*1), scale
20390 INTEGER :: ma, mb, mc, md, p_index
20391 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
20393 kbd(1:2*1) = 0.0_dp
20394 kbc(1:2*1) = 0.0_dp
20395 kad(1:6*1) = 0.0_dp
20396 kac(1:6*1) = 0.0_dp
20403 p_bd = pbd((md - 1)*2 + mb)
20404 p_bc =
pbc((mc - 1)*2 + mb)
20406 p_index = p_index + 1
20407 tmp = scale*prim(p_index)
20408 ks_bc = ks_bc + tmp*pad((md - 1)*6 + ma)
20409 ks_bd = ks_bd + tmp*pac((mc - 1)*6 + ma)
20410 kad((md - 1)*6 + ma) = kad((md - 1)*6 + ma) - tmp*p_bc
20411 kac((mc - 1)*6 + ma) = kac((mc - 1)*6 + ma) - tmp*p_bd
20413 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
20414 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
20418 END SUBROUTINE block_6_2_1_1
20433 SUBROUTINE block_6_2_1(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
20435 REAL(kind=
dp) :: kbd(2*md_max), kbc(2*1), kad(6*md_max), kac(6*1), pbd(2*md_max),
pbc(2*1), &
20436 pad(6*md_max), pac(6*1), prim(6*2*1*md_max), scale
20438 INTEGER :: ma, mb, mc, md, p_index
20439 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
20441 kbd(1:2*md_max) = 0.0_dp
20442 kbc(1:2*1) = 0.0_dp
20443 kad(1:6*md_max) = 0.0_dp
20444 kac(1:6*1) = 0.0_dp
20451 p_bd = pbd((md - 1)*2 + mb)
20452 p_bc =
pbc((mc - 1)*2 + mb)
20454 p_index = p_index + 1
20455 tmp = scale*prim(p_index)
20456 ks_bc = ks_bc + tmp*pad((md - 1)*6 + ma)
20457 ks_bd = ks_bd + tmp*pac((mc - 1)*6 + ma)
20458 kad((md - 1)*6 + ma) = kad((md - 1)*6 + ma) - tmp*p_bc
20459 kac((mc - 1)*6 + ma) = kac((mc - 1)*6 + ma) - tmp*p_bd
20461 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
20462 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
20466 END SUBROUTINE block_6_2_1
20482 SUBROUTINE block_6_2(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
20483 INTEGER :: mc_max, md_max
20484 REAL(kind=
dp) :: kbd(2*md_max), kbc(2*mc_max), kad(6*md_max), kac(6*mc_max), pbd(2*md_max), &
20485 pbc(2*mc_max), pad(6*md_max), pac(6*mc_max), prim(6*2*mc_max*md_max), scale
20487 INTEGER :: ma, mb, mc, md, p_index
20488 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
20490 kbd(1:2*md_max) = 0.0_dp
20491 kbc(1:2*mc_max) = 0.0_dp
20492 kad(1:6*md_max) = 0.0_dp
20493 kac(1:6*mc_max) = 0.0_dp
20500 p_bd = pbd((md - 1)*2 + mb)
20501 p_bc =
pbc((mc - 1)*2 + mb)
20503 p_index = p_index + 1
20504 tmp = scale*prim(p_index)
20505 ks_bc = ks_bc + tmp*pad((md - 1)*6 + ma)
20506 ks_bd = ks_bd + tmp*pac((mc - 1)*6 + ma)
20507 kad((md - 1)*6 + ma) = kad((md - 1)*6 + ma) - tmp*p_bc
20508 kac((mc - 1)*6 + ma) = kac((mc - 1)*6 + ma) - tmp*p_bd
20510 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
20511 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
20515 END SUBROUTINE block_6_2
20529 SUBROUTINE block_6_3_1_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
20530 REAL(kind=
dp) :: kbd(3*1), kbc(3*1), kad(6*1), kac(6*1), &
20531 pbd(3*1),
pbc(3*1), pad(6*1), &
20532 pac(6*1), prim(6*3*1*1), scale
20534 INTEGER :: ma, mb, mc, md, p_index
20535 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
20537 kbd(1:3*1) = 0.0_dp
20538 kbc(1:3*1) = 0.0_dp
20539 kad(1:6*1) = 0.0_dp
20540 kac(1:6*1) = 0.0_dp
20547 p_bd = pbd((md - 1)*3 + mb)
20548 p_bc =
pbc((mc - 1)*3 + mb)
20550 p_index = p_index + 1
20551 tmp = scale*prim(p_index)
20552 ks_bc = ks_bc + tmp*pad((md - 1)*6 + ma)
20553 ks_bd = ks_bd + tmp*pac((mc - 1)*6 + ma)
20554 kad((md - 1)*6 + ma) = kad((md - 1)*6 + ma) - tmp*p_bc
20555 kac((mc - 1)*6 + ma) = kac((mc - 1)*6 + ma) - tmp*p_bd
20557 kbd((md - 1)*3 + mb) = kbd((md - 1)*3 + mb) - ks_bd
20558 kbc((mc - 1)*3 + mb) = kbc((mc - 1)*3 + mb) - ks_bc
20562 END SUBROUTINE block_6_3_1_1
20577 SUBROUTINE block_6_3_1(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
20579 REAL(kind=
dp) :: kbd(3*md_max), kbc(3*1), kad(6*md_max), kac(6*1), pbd(3*md_max),
pbc(3*1), &
20580 pad(6*md_max), pac(6*1), prim(6*3*1*md_max), scale
20582 INTEGER :: ma, mb, mc, md, p_index
20583 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
20585 kbd(1:3*md_max) = 0.0_dp
20586 kbc(1:3*1) = 0.0_dp
20587 kad(1:6*md_max) = 0.0_dp
20588 kac(1:6*1) = 0.0_dp
20595 p_bd = pbd((md - 1)*3 + mb)
20596 p_bc =
pbc((mc - 1)*3 + mb)
20598 p_index = p_index + 1
20599 tmp = scale*prim(p_index)
20600 ks_bc = ks_bc + tmp*pad((md - 1)*6 + ma)
20601 ks_bd = ks_bd + tmp*pac((mc - 1)*6 + ma)
20602 kad((md - 1)*6 + ma) = kad((md - 1)*6 + ma) - tmp*p_bc
20603 kac((mc - 1)*6 + ma) = kac((mc - 1)*6 + ma) - tmp*p_bd
20605 kbd((md - 1)*3 + mb) = kbd((md - 1)*3 + mb) - ks_bd
20606 kbc((mc - 1)*3 + mb) = kbc((mc - 1)*3 + mb) - ks_bc
20610 END SUBROUTINE block_6_3_1
20626 SUBROUTINE block_6_3(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
20627 INTEGER :: mc_max, md_max
20628 REAL(kind=
dp) :: kbd(3*md_max), kbc(3*mc_max), kad(6*md_max), kac(6*mc_max), pbd(3*md_max), &
20629 pbc(3*mc_max), pad(6*md_max), pac(6*mc_max), prim(6*3*mc_max*md_max), scale
20631 INTEGER :: ma, mb, mc, md, p_index
20632 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
20634 kbd(1:3*md_max) = 0.0_dp
20635 kbc(1:3*mc_max) = 0.0_dp
20636 kad(1:6*md_max) = 0.0_dp
20637 kac(1:6*mc_max) = 0.0_dp
20644 p_bd = pbd((md - 1)*3 + mb)
20645 p_bc =
pbc((mc - 1)*3 + mb)
20647 p_index = p_index + 1
20648 tmp = scale*prim(p_index)
20649 ks_bc = ks_bc + tmp*pad((md - 1)*6 + ma)
20650 ks_bd = ks_bd + tmp*pac((mc - 1)*6 + ma)
20651 kad((md - 1)*6 + ma) = kad((md - 1)*6 + ma) - tmp*p_bc
20652 kac((mc - 1)*6 + ma) = kac((mc - 1)*6 + ma) - tmp*p_bd
20654 kbd((md - 1)*3 + mb) = kbd((md - 1)*3 + mb) - ks_bd
20655 kbc((mc - 1)*3 + mb) = kbc((mc - 1)*3 + mb) - ks_bc
20659 END SUBROUTINE block_6_3
20675 SUBROUTINE block_6_4(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
20676 INTEGER :: mc_max, md_max
20677 REAL(kind=
dp) :: kbd(4*md_max), kbc(4*mc_max), kad(6*md_max), kac(6*mc_max), pbd(4*md_max), &
20678 pbc(4*mc_max), pad(6*md_max), pac(6*mc_max), prim(6*4*mc_max*md_max), scale
20680 INTEGER :: ma, mb, mc, md, p_index
20681 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
20683 kbd(1:4*md_max) = 0.0_dp
20684 kbc(1:4*mc_max) = 0.0_dp
20685 kad(1:6*md_max) = 0.0_dp
20686 kac(1:6*mc_max) = 0.0_dp
20693 p_bd = pbd((md - 1)*4 + mb)
20694 p_bc =
pbc((mc - 1)*4 + mb)
20696 p_index = p_index + 1
20697 tmp = scale*prim(p_index)
20698 ks_bc = ks_bc + tmp*pad((md - 1)*6 + ma)
20699 ks_bd = ks_bd + tmp*pac((mc - 1)*6 + ma)
20700 kad((md - 1)*6 + ma) = kad((md - 1)*6 + ma) - tmp*p_bc
20701 kac((mc - 1)*6 + ma) = kac((mc - 1)*6 + ma) - tmp*p_bd
20703 kbd((md - 1)*4 + mb) = kbd((md - 1)*4 + mb) - ks_bd
20704 kbc((mc - 1)*4 + mb) = kbc((mc - 1)*4 + mb) - ks_bc
20708 END SUBROUTINE block_6_4
20724 SUBROUTINE block_6_5(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
20725 INTEGER :: mc_max, md_max
20726 REAL(kind=
dp) :: kbd(5*md_max), kbc(5*mc_max), kad(6*md_max), kac(6*mc_max), pbd(5*md_max), &
20727 pbc(5*mc_max), pad(6*md_max), pac(6*mc_max), prim(6*5*mc_max*md_max), scale
20729 INTEGER :: ma, mb, mc, md, p_index
20730 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
20732 kbd(1:5*md_max) = 0.0_dp
20733 kbc(1:5*mc_max) = 0.0_dp
20734 kad(1:6*md_max) = 0.0_dp
20735 kac(1:6*mc_max) = 0.0_dp
20742 p_bd = pbd((md - 1)*5 + mb)
20743 p_bc =
pbc((mc - 1)*5 + mb)
20745 p_index = p_index + 1
20746 tmp = scale*prim(p_index)
20747 ks_bc = ks_bc + tmp*pad((md - 1)*6 + ma)
20748 ks_bd = ks_bd + tmp*pac((mc - 1)*6 + ma)
20749 kad((md - 1)*6 + ma) = kad((md - 1)*6 + ma) - tmp*p_bc
20750 kac((mc - 1)*6 + ma) = kac((mc - 1)*6 + ma) - tmp*p_bd
20752 kbd((md - 1)*5 + mb) = kbd((md - 1)*5 + mb) - ks_bd
20753 kbc((mc - 1)*5 + mb) = kbc((mc - 1)*5 + mb) - ks_bc
20757 END SUBROUTINE block_6_5
20773 SUBROUTINE block_6_6(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
20774 INTEGER :: mc_max, md_max
20775 REAL(kind=
dp) :: kbd(6*md_max), kbc(6*mc_max), kad(6*md_max), kac(6*mc_max), pbd(6*md_max), &
20776 pbc(6*mc_max), pad(6*md_max), pac(6*mc_max), prim(6*6*mc_max*md_max), scale
20778 INTEGER :: ma, mb, mc, md, p_index
20779 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
20781 kbd(1:6*md_max) = 0.0_dp
20782 kbc(1:6*mc_max) = 0.0_dp
20783 kad(1:6*md_max) = 0.0_dp
20784 kac(1:6*mc_max) = 0.0_dp
20791 p_bd = pbd((md - 1)*6 + mb)
20792 p_bc =
pbc((mc - 1)*6 + mb)
20794 p_index = p_index + 1
20795 tmp = scale*prim(p_index)
20796 ks_bc = ks_bc + tmp*pad((md - 1)*6 + ma)
20797 ks_bd = ks_bd + tmp*pac((mc - 1)*6 + ma)
20798 kad((md - 1)*6 + ma) = kad((md - 1)*6 + ma) - tmp*p_bc
20799 kac((mc - 1)*6 + ma) = kac((mc - 1)*6 + ma) - tmp*p_bd
20801 kbd((md - 1)*6 + mb) = kbd((md - 1)*6 + mb) - ks_bd
20802 kbc((mc - 1)*6 + mb) = kbc((mc - 1)*6 + mb) - ks_bc
20806 END SUBROUTINE block_6_6
20822 SUBROUTINE block_6_7(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
20823 INTEGER :: mc_max, md_max
20824 REAL(kind=
dp) :: kbd(7*md_max), kbc(7*mc_max), kad(6*md_max), kac(6*mc_max), pbd(7*md_max), &
20825 pbc(7*mc_max), pad(6*md_max), pac(6*mc_max), prim(6*7*mc_max*md_max), scale
20827 INTEGER :: ma, mb, mc, md, p_index
20828 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
20830 kbd(1:7*md_max) = 0.0_dp
20831 kbc(1:7*mc_max) = 0.0_dp
20832 kad(1:6*md_max) = 0.0_dp
20833 kac(1:6*mc_max) = 0.0_dp
20840 p_bd = pbd((md - 1)*7 + mb)
20841 p_bc =
pbc((mc - 1)*7 + mb)
20843 p_index = p_index + 1
20844 tmp = scale*prim(p_index)
20845 ks_bc = ks_bc + tmp*pad((md - 1)*6 + ma)
20846 ks_bd = ks_bd + tmp*pac((mc - 1)*6 + ma)
20847 kad((md - 1)*6 + ma) = kad((md - 1)*6 + ma) - tmp*p_bc
20848 kac((mc - 1)*6 + ma) = kac((mc - 1)*6 + ma) - tmp*p_bd
20850 kbd((md - 1)*7 + mb) = kbd((md - 1)*7 + mb) - ks_bd
20851 kbc((mc - 1)*7 + mb) = kbc((mc - 1)*7 + mb) - ks_bc
20855 END SUBROUTINE block_6_7
20871 SUBROUTINE block_6_9(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
20872 INTEGER :: mc_max, md_max
20873 REAL(kind=
dp) :: kbd(9*md_max), kbc(9*mc_max), kad(6*md_max), kac(6*mc_max), pbd(9*md_max), &
20874 pbc(9*mc_max), pad(6*md_max), pac(6*mc_max), prim(6*9*mc_max*md_max), scale
20876 INTEGER :: ma, mb, mc, md, p_index
20877 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
20879 kbd(1:9*md_max) = 0.0_dp
20880 kbc(1:9*mc_max) = 0.0_dp
20881 kad(1:6*md_max) = 0.0_dp
20882 kac(1:6*mc_max) = 0.0_dp
20889 p_bd = pbd((md - 1)*9 + mb)
20890 p_bc =
pbc((mc - 1)*9 + mb)
20892 p_index = p_index + 1
20893 tmp = scale*prim(p_index)
20894 ks_bc = ks_bc + tmp*pad((md - 1)*6 + ma)
20895 ks_bd = ks_bd + tmp*pac((mc - 1)*6 + ma)
20896 kad((md - 1)*6 + ma) = kad((md - 1)*6 + ma) - tmp*p_bc
20897 kac((mc - 1)*6 + ma) = kac((mc - 1)*6 + ma) - tmp*p_bd
20899 kbd((md - 1)*9 + mb) = kbd((md - 1)*9 + mb) - ks_bd
20900 kbc((mc - 1)*9 + mb) = kbc((mc - 1)*9 + mb) - ks_bc
20904 END SUBROUTINE block_6_9
20920 SUBROUTINE block_6_10(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
20921 INTEGER :: mc_max, md_max
20922 REAL(kind=
dp) :: kbd(10*md_max), kbc(10*mc_max), kad(6*md_max), kac(6*mc_max), &
20923 pbd(10*md_max),
pbc(10*mc_max), pad(6*md_max), pac(6*mc_max), prim(6*10*mc_max*md_max), &
20926 INTEGER :: ma, mb, mc, md, p_index
20927 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
20929 kbd(1:10*md_max) = 0.0_dp
20930 kbc(1:10*mc_max) = 0.0_dp
20931 kad(1:6*md_max) = 0.0_dp
20932 kac(1:6*mc_max) = 0.0_dp
20939 p_bd = pbd((md - 1)*10 + mb)
20940 p_bc =
pbc((mc - 1)*10 + mb)
20942 p_index = p_index + 1
20943 tmp = scale*prim(p_index)
20944 ks_bc = ks_bc + tmp*pad((md - 1)*6 + ma)
20945 ks_bd = ks_bd + tmp*pac((mc - 1)*6 + ma)
20946 kad((md - 1)*6 + ma) = kad((md - 1)*6 + ma) - tmp*p_bc
20947 kac((mc - 1)*6 + ma) = kac((mc - 1)*6 + ma) - tmp*p_bd
20949 kbd((md - 1)*10 + mb) = kbd((md - 1)*10 + mb) - ks_bd
20950 kbc((mc - 1)*10 + mb) = kbc((mc - 1)*10 + mb) - ks_bc
20954 END SUBROUTINE block_6_10
20970 SUBROUTINE block_6_11(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
20971 INTEGER :: mc_max, md_max
20972 REAL(kind=
dp) :: kbd(11*md_max), kbc(11*mc_max), kad(6*md_max), kac(6*mc_max), &
20973 pbd(11*md_max),
pbc(11*mc_max), pad(6*md_max), pac(6*mc_max), prim(6*11*mc_max*md_max), &
20976 INTEGER :: ma, mb, mc, md, p_index
20977 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
20979 kbd(1:11*md_max) = 0.0_dp
20980 kbc(1:11*mc_max) = 0.0_dp
20981 kad(1:6*md_max) = 0.0_dp
20982 kac(1:6*mc_max) = 0.0_dp
20989 p_bd = pbd((md - 1)*11 + mb)
20990 p_bc =
pbc((mc - 1)*11 + mb)
20992 p_index = p_index + 1
20993 tmp = scale*prim(p_index)
20994 ks_bc = ks_bc + tmp*pad((md - 1)*6 + ma)
20995 ks_bd = ks_bd + tmp*pac((mc - 1)*6 + ma)
20996 kad((md - 1)*6 + ma) = kad((md - 1)*6 + ma) - tmp*p_bc
20997 kac((mc - 1)*6 + ma) = kac((mc - 1)*6 + ma) - tmp*p_bd
20999 kbd((md - 1)*11 + mb) = kbd((md - 1)*11 + mb) - ks_bd
21000 kbc((mc - 1)*11 + mb) = kbc((mc - 1)*11 + mb) - ks_bc
21004 END SUBROUTINE block_6_11
21020 SUBROUTINE block_6_15(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
21021 INTEGER :: mc_max, md_max
21022 REAL(kind=
dp) :: kbd(15*md_max), kbc(15*mc_max), kad(6*md_max), kac(6*mc_max), &
21023 pbd(15*md_max),
pbc(15*mc_max), pad(6*md_max), pac(6*mc_max), prim(6*15*mc_max*md_max), &
21026 INTEGER :: ma, mb, mc, md, p_index
21027 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
21029 kbd(1:15*md_max) = 0.0_dp
21030 kbc(1:15*mc_max) = 0.0_dp
21031 kad(1:6*md_max) = 0.0_dp
21032 kac(1:6*mc_max) = 0.0_dp
21039 p_bd = pbd((md - 1)*15 + mb)
21040 p_bc =
pbc((mc - 1)*15 + mb)
21042 p_index = p_index + 1
21043 tmp = scale*prim(p_index)
21044 ks_bc = ks_bc + tmp*pad((md - 1)*6 + ma)
21045 ks_bd = ks_bd + tmp*pac((mc - 1)*6 + ma)
21046 kad((md - 1)*6 + ma) = kad((md - 1)*6 + ma) - tmp*p_bc
21047 kac((mc - 1)*6 + ma) = kac((mc - 1)*6 + ma) - tmp*p_bd
21049 kbd((md - 1)*15 + mb) = kbd((md - 1)*15 + mb) - ks_bd
21050 kbc((mc - 1)*15 + mb) = kbc((mc - 1)*15 + mb) - ks_bc
21054 END SUBROUTINE block_6_15
21068 SUBROUTINE block_7_1_1_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
21069 REAL(kind=
dp) :: kbd(1*1), kbc(1*1), kad(7*1), kac(7*1), &
21070 pbd(1*1),
pbc(1*1), pad(7*1), &
21071 pac(7*1), prim(7*1*1*1), scale
21073 INTEGER :: ma, mb, mc, md, p_index
21074 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
21076 kbd(1:1*1) = 0.0_dp
21077 kbc(1:1*1) = 0.0_dp
21078 kad(1:7*1) = 0.0_dp
21079 kac(1:7*1) = 0.0_dp
21086 p_bd = pbd((md - 1)*1 + mb)
21087 p_bc =
pbc((mc - 1)*1 + mb)
21089 p_index = p_index + 1
21090 tmp = scale*prim(p_index)
21091 ks_bc = ks_bc + tmp*pad((md - 1)*7 + ma)
21092 ks_bd = ks_bd + tmp*pac((mc - 1)*7 + ma)
21093 kad((md - 1)*7 + ma) = kad((md - 1)*7 + ma) - tmp*p_bc
21094 kac((mc - 1)*7 + ma) = kac((mc - 1)*7 + ma) - tmp*p_bd
21096 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
21097 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
21101 END SUBROUTINE block_7_1_1_1
21115 SUBROUTINE block_7_1_1_2(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
21116 REAL(kind=
dp) :: kbd(1*2), kbc(1*1), kad(7*2), kac(7*1), &
21117 pbd(1*2),
pbc(1*1), pad(7*2), &
21118 pac(7*1), prim(7*1*1*2), scale
21120 INTEGER :: ma, mb, mc, md, p_index
21121 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
21123 kbd(1:1*2) = 0.0_dp
21124 kbc(1:1*1) = 0.0_dp
21125 kad(1:7*2) = 0.0_dp
21126 kac(1:7*1) = 0.0_dp
21133 p_bd = pbd((md - 1)*1 + mb)
21134 p_bc =
pbc((mc - 1)*1 + mb)
21136 p_index = p_index + 1
21137 tmp = scale*prim(p_index)
21138 ks_bc = ks_bc + tmp*pad((md - 1)*7 + ma)
21139 ks_bd = ks_bd + tmp*pac((mc - 1)*7 + ma)
21140 kad((md - 1)*7 + ma) = kad((md - 1)*7 + ma) - tmp*p_bc
21141 kac((mc - 1)*7 + ma) = kac((mc - 1)*7 + ma) - tmp*p_bd
21143 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
21144 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
21148 END SUBROUTINE block_7_1_1_2
21163 SUBROUTINE block_7_1_1(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
21165 REAL(kind=
dp) :: kbd(1*md_max), kbc(1*1), kad(7*md_max), kac(7*1), pbd(1*md_max),
pbc(1*1), &
21166 pad(7*md_max), pac(7*1), prim(7*1*1*md_max), scale
21168 INTEGER :: ma, mb, mc, md, p_index
21169 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
21171 kbd(1:1*md_max) = 0.0_dp
21172 kbc(1:1*1) = 0.0_dp
21173 kad(1:7*md_max) = 0.0_dp
21174 kac(1:7*1) = 0.0_dp
21181 p_bd = pbd((md - 1)*1 + mb)
21182 p_bc =
pbc((mc - 1)*1 + mb)
21184 p_index = p_index + 1
21185 tmp = scale*prim(p_index)
21186 ks_bc = ks_bc + tmp*pad((md - 1)*7 + ma)
21187 ks_bd = ks_bd + tmp*pac((mc - 1)*7 + ma)
21188 kad((md - 1)*7 + ma) = kad((md - 1)*7 + ma) - tmp*p_bc
21189 kac((mc - 1)*7 + ma) = kac((mc - 1)*7 + ma) - tmp*p_bd
21191 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
21192 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
21196 END SUBROUTINE block_7_1_1
21210 SUBROUTINE block_7_1_2_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
21211 REAL(kind=
dp) :: kbd(1*1), kbc(1*2), kad(7*1), kac(7*2), &
21212 pbd(1*1),
pbc(1*2), pad(7*1), &
21213 pac(7*2), prim(7*1*2*1), scale
21215 INTEGER :: ma, mb, mc, md, p_index
21216 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
21218 kbd(1:1*1) = 0.0_dp
21219 kbc(1:1*2) = 0.0_dp
21220 kad(1:7*1) = 0.0_dp
21221 kac(1:7*2) = 0.0_dp
21228 p_bd = pbd((md - 1)*1 + mb)
21229 p_bc =
pbc((mc - 1)*1 + mb)
21231 p_index = p_index + 1
21232 tmp = scale*prim(p_index)
21233 ks_bc = ks_bc + tmp*pad((md - 1)*7 + ma)
21234 ks_bd = ks_bd + tmp*pac((mc - 1)*7 + ma)
21235 kad((md - 1)*7 + ma) = kad((md - 1)*7 + ma) - tmp*p_bc
21236 kac((mc - 1)*7 + ma) = kac((mc - 1)*7 + ma) - tmp*p_bd
21238 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
21239 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
21243 END SUBROUTINE block_7_1_2_1
21258 SUBROUTINE block_7_1_2(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
21260 REAL(kind=
dp) :: kbd(1*md_max), kbc(1*2), kad(7*md_max), kac(7*2), pbd(1*md_max),
pbc(1*2), &
21261 pad(7*md_max), pac(7*2), prim(7*1*2*md_max), scale
21263 INTEGER :: ma, mb, mc, md, p_index
21264 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
21266 kbd(1:1*md_max) = 0.0_dp
21267 kbc(1:1*2) = 0.0_dp
21268 kad(1:7*md_max) = 0.0_dp
21269 kac(1:7*2) = 0.0_dp
21276 p_bd = pbd((md - 1)*1 + mb)
21277 p_bc =
pbc((mc - 1)*1 + mb)
21279 p_index = p_index + 1
21280 tmp = scale*prim(p_index)
21281 ks_bc = ks_bc + tmp*pad((md - 1)*7 + ma)
21282 ks_bd = ks_bd + tmp*pac((mc - 1)*7 + ma)
21283 kad((md - 1)*7 + ma) = kad((md - 1)*7 + ma) - tmp*p_bc
21284 kac((mc - 1)*7 + ma) = kac((mc - 1)*7 + ma) - tmp*p_bd
21286 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
21287 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
21291 END SUBROUTINE block_7_1_2
21307 SUBROUTINE block_7_1(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
21308 INTEGER :: mc_max, md_max
21309 REAL(kind=
dp) :: kbd(1*md_max), kbc(1*mc_max), kad(7*md_max), kac(7*mc_max), pbd(1*md_max), &
21310 pbc(1*mc_max), pad(7*md_max), pac(7*mc_max), prim(7*1*mc_max*md_max), scale
21312 INTEGER :: ma, mb, mc, md, p_index
21313 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
21315 kbd(1:1*md_max) = 0.0_dp
21316 kbc(1:1*mc_max) = 0.0_dp
21317 kad(1:7*md_max) = 0.0_dp
21318 kac(1:7*mc_max) = 0.0_dp
21325 p_bd = pbd((md - 1)*1 + mb)
21326 p_bc =
pbc((mc - 1)*1 + mb)
21328 p_index = p_index + 1
21329 tmp = scale*prim(p_index)
21330 ks_bc = ks_bc + tmp*pad((md - 1)*7 + ma)
21331 ks_bd = ks_bd + tmp*pac((mc - 1)*7 + ma)
21332 kad((md - 1)*7 + ma) = kad((md - 1)*7 + ma) - tmp*p_bc
21333 kac((mc - 1)*7 + ma) = kac((mc - 1)*7 + ma) - tmp*p_bd
21335 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
21336 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
21340 END SUBROUTINE block_7_1
21354 SUBROUTINE block_7_2_1_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
21355 REAL(kind=
dp) :: kbd(2*1), kbc(2*1), kad(7*1), kac(7*1), &
21356 pbd(2*1),
pbc(2*1), pad(7*1), &
21357 pac(7*1), prim(7*2*1*1), scale
21359 INTEGER :: ma, mb, mc, md, p_index
21360 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
21362 kbd(1:2*1) = 0.0_dp
21363 kbc(1:2*1) = 0.0_dp
21364 kad(1:7*1) = 0.0_dp
21365 kac(1:7*1) = 0.0_dp
21372 p_bd = pbd((md - 1)*2 + mb)
21373 p_bc =
pbc((mc - 1)*2 + mb)
21375 p_index = p_index + 1
21376 tmp = scale*prim(p_index)
21377 ks_bc = ks_bc + tmp*pad((md - 1)*7 + ma)
21378 ks_bd = ks_bd + tmp*pac((mc - 1)*7 + ma)
21379 kad((md - 1)*7 + ma) = kad((md - 1)*7 + ma) - tmp*p_bc
21380 kac((mc - 1)*7 + ma) = kac((mc - 1)*7 + ma) - tmp*p_bd
21382 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
21383 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
21387 END SUBROUTINE block_7_2_1_1
21402 SUBROUTINE block_7_2_1(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
21404 REAL(kind=
dp) :: kbd(2*md_max), kbc(2*1), kad(7*md_max), kac(7*1), pbd(2*md_max),
pbc(2*1), &
21405 pad(7*md_max), pac(7*1), prim(7*2*1*md_max), scale
21407 INTEGER :: ma, mb, mc, md, p_index
21408 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
21410 kbd(1:2*md_max) = 0.0_dp
21411 kbc(1:2*1) = 0.0_dp
21412 kad(1:7*md_max) = 0.0_dp
21413 kac(1:7*1) = 0.0_dp
21420 p_bd = pbd((md - 1)*2 + mb)
21421 p_bc =
pbc((mc - 1)*2 + mb)
21423 p_index = p_index + 1
21424 tmp = scale*prim(p_index)
21425 ks_bc = ks_bc + tmp*pad((md - 1)*7 + ma)
21426 ks_bd = ks_bd + tmp*pac((mc - 1)*7 + ma)
21427 kad((md - 1)*7 + ma) = kad((md - 1)*7 + ma) - tmp*p_bc
21428 kac((mc - 1)*7 + ma) = kac((mc - 1)*7 + ma) - tmp*p_bd
21430 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
21431 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
21435 END SUBROUTINE block_7_2_1
21451 SUBROUTINE block_7_2(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
21452 INTEGER :: mc_max, md_max
21453 REAL(kind=
dp) :: kbd(2*md_max), kbc(2*mc_max), kad(7*md_max), kac(7*mc_max), pbd(2*md_max), &
21454 pbc(2*mc_max), pad(7*md_max), pac(7*mc_max), prim(7*2*mc_max*md_max), scale
21456 INTEGER :: ma, mb, mc, md, p_index
21457 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
21459 kbd(1:2*md_max) = 0.0_dp
21460 kbc(1:2*mc_max) = 0.0_dp
21461 kad(1:7*md_max) = 0.0_dp
21462 kac(1:7*mc_max) = 0.0_dp
21469 p_bd = pbd((md - 1)*2 + mb)
21470 p_bc =
pbc((mc - 1)*2 + mb)
21472 p_index = p_index + 1
21473 tmp = scale*prim(p_index)
21474 ks_bc = ks_bc + tmp*pad((md - 1)*7 + ma)
21475 ks_bd = ks_bd + tmp*pac((mc - 1)*7 + ma)
21476 kad((md - 1)*7 + ma) = kad((md - 1)*7 + ma) - tmp*p_bc
21477 kac((mc - 1)*7 + ma) = kac((mc - 1)*7 + ma) - tmp*p_bd
21479 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
21480 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
21484 END SUBROUTINE block_7_2
21500 SUBROUTINE block_7_3(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
21501 INTEGER :: mc_max, md_max
21502 REAL(kind=
dp) :: kbd(3*md_max), kbc(3*mc_max), kad(7*md_max), kac(7*mc_max), pbd(3*md_max), &
21503 pbc(3*mc_max), pad(7*md_max), pac(7*mc_max), prim(7*3*mc_max*md_max), scale
21505 INTEGER :: ma, mb, mc, md, p_index
21506 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
21508 kbd(1:3*md_max) = 0.0_dp
21509 kbc(1:3*mc_max) = 0.0_dp
21510 kad(1:7*md_max) = 0.0_dp
21511 kac(1:7*mc_max) = 0.0_dp
21518 p_bd = pbd((md - 1)*3 + mb)
21519 p_bc =
pbc((mc - 1)*3 + mb)
21521 p_index = p_index + 1
21522 tmp = scale*prim(p_index)
21523 ks_bc = ks_bc + tmp*pad((md - 1)*7 + ma)
21524 ks_bd = ks_bd + tmp*pac((mc - 1)*7 + ma)
21525 kad((md - 1)*7 + ma) = kad((md - 1)*7 + ma) - tmp*p_bc
21526 kac((mc - 1)*7 + ma) = kac((mc - 1)*7 + ma) - tmp*p_bd
21528 kbd((md - 1)*3 + mb) = kbd((md - 1)*3 + mb) - ks_bd
21529 kbc((mc - 1)*3 + mb) = kbc((mc - 1)*3 + mb) - ks_bc
21533 END SUBROUTINE block_7_3
21549 SUBROUTINE block_7_4(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
21550 INTEGER :: mc_max, md_max
21551 REAL(kind=
dp) :: kbd(4*md_max), kbc(4*mc_max), kad(7*md_max), kac(7*mc_max), pbd(4*md_max), &
21552 pbc(4*mc_max), pad(7*md_max), pac(7*mc_max), prim(7*4*mc_max*md_max), scale
21554 INTEGER :: ma, mb, mc, md, p_index
21555 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
21557 kbd(1:4*md_max) = 0.0_dp
21558 kbc(1:4*mc_max) = 0.0_dp
21559 kad(1:7*md_max) = 0.0_dp
21560 kac(1:7*mc_max) = 0.0_dp
21567 p_bd = pbd((md - 1)*4 + mb)
21568 p_bc =
pbc((mc - 1)*4 + mb)
21570 p_index = p_index + 1
21571 tmp = scale*prim(p_index)
21572 ks_bc = ks_bc + tmp*pad((md - 1)*7 + ma)
21573 ks_bd = ks_bd + tmp*pac((mc - 1)*7 + ma)
21574 kad((md - 1)*7 + ma) = kad((md - 1)*7 + ma) - tmp*p_bc
21575 kac((mc - 1)*7 + ma) = kac((mc - 1)*7 + ma) - tmp*p_bd
21577 kbd((md - 1)*4 + mb) = kbd((md - 1)*4 + mb) - ks_bd
21578 kbc((mc - 1)*4 + mb) = kbc((mc - 1)*4 + mb) - ks_bc
21582 END SUBROUTINE block_7_4
21598 SUBROUTINE block_7_5(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
21599 INTEGER :: mc_max, md_max
21600 REAL(kind=
dp) :: kbd(5*md_max), kbc(5*mc_max), kad(7*md_max), kac(7*mc_max), pbd(5*md_max), &
21601 pbc(5*mc_max), pad(7*md_max), pac(7*mc_max), prim(7*5*mc_max*md_max), scale
21603 INTEGER :: ma, mb, mc, md, p_index
21604 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
21606 kbd(1:5*md_max) = 0.0_dp
21607 kbc(1:5*mc_max) = 0.0_dp
21608 kad(1:7*md_max) = 0.0_dp
21609 kac(1:7*mc_max) = 0.0_dp
21616 p_bd = pbd((md - 1)*5 + mb)
21617 p_bc =
pbc((mc - 1)*5 + mb)
21619 p_index = p_index + 1
21620 tmp = scale*prim(p_index)
21621 ks_bc = ks_bc + tmp*pad((md - 1)*7 + ma)
21622 ks_bd = ks_bd + tmp*pac((mc - 1)*7 + ma)
21623 kad((md - 1)*7 + ma) = kad((md - 1)*7 + ma) - tmp*p_bc
21624 kac((mc - 1)*7 + ma) = kac((mc - 1)*7 + ma) - tmp*p_bd
21626 kbd((md - 1)*5 + mb) = kbd((md - 1)*5 + mb) - ks_bd
21627 kbc((mc - 1)*5 + mb) = kbc((mc - 1)*5 + mb) - ks_bc
21631 END SUBROUTINE block_7_5
21647 SUBROUTINE block_7_6(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
21648 INTEGER :: mc_max, md_max
21649 REAL(kind=
dp) :: kbd(6*md_max), kbc(6*mc_max), kad(7*md_max), kac(7*mc_max), pbd(6*md_max), &
21650 pbc(6*mc_max), pad(7*md_max), pac(7*mc_max), prim(7*6*mc_max*md_max), scale
21652 INTEGER :: ma, mb, mc, md, p_index
21653 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
21655 kbd(1:6*md_max) = 0.0_dp
21656 kbc(1:6*mc_max) = 0.0_dp
21657 kad(1:7*md_max) = 0.0_dp
21658 kac(1:7*mc_max) = 0.0_dp
21665 p_bd = pbd((md - 1)*6 + mb)
21666 p_bc =
pbc((mc - 1)*6 + mb)
21668 p_index = p_index + 1
21669 tmp = scale*prim(p_index)
21670 ks_bc = ks_bc + tmp*pad((md - 1)*7 + ma)
21671 ks_bd = ks_bd + tmp*pac((mc - 1)*7 + ma)
21672 kad((md - 1)*7 + ma) = kad((md - 1)*7 + ma) - tmp*p_bc
21673 kac((mc - 1)*7 + ma) = kac((mc - 1)*7 + ma) - tmp*p_bd
21675 kbd((md - 1)*6 + mb) = kbd((md - 1)*6 + mb) - ks_bd
21676 kbc((mc - 1)*6 + mb) = kbc((mc - 1)*6 + mb) - ks_bc
21680 END SUBROUTINE block_7_6
21696 SUBROUTINE block_7_7(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
21697 INTEGER :: mc_max, md_max
21698 REAL(kind=
dp) :: kbd(7*md_max), kbc(7*mc_max), kad(7*md_max), kac(7*mc_max), pbd(7*md_max), &
21699 pbc(7*mc_max), pad(7*md_max), pac(7*mc_max), prim(7*7*mc_max*md_max), scale
21701 INTEGER :: ma, mb, mc, md, p_index
21702 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
21704 kbd(1:7*md_max) = 0.0_dp
21705 kbc(1:7*mc_max) = 0.0_dp
21706 kad(1:7*md_max) = 0.0_dp
21707 kac(1:7*mc_max) = 0.0_dp
21714 p_bd = pbd((md - 1)*7 + mb)
21715 p_bc =
pbc((mc - 1)*7 + mb)
21717 p_index = p_index + 1
21718 tmp = scale*prim(p_index)
21719 ks_bc = ks_bc + tmp*pad((md - 1)*7 + ma)
21720 ks_bd = ks_bd + tmp*pac((mc - 1)*7 + ma)
21721 kad((md - 1)*7 + ma) = kad((md - 1)*7 + ma) - tmp*p_bc
21722 kac((mc - 1)*7 + ma) = kac((mc - 1)*7 + ma) - tmp*p_bd
21724 kbd((md - 1)*7 + mb) = kbd((md - 1)*7 + mb) - ks_bd
21725 kbc((mc - 1)*7 + mb) = kbc((mc - 1)*7 + mb) - ks_bc
21729 END SUBROUTINE block_7_7
21745 SUBROUTINE block_7_9(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
21746 INTEGER :: mc_max, md_max
21747 REAL(kind=
dp) :: kbd(9*md_max), kbc(9*mc_max), kad(7*md_max), kac(7*mc_max), pbd(9*md_max), &
21748 pbc(9*mc_max), pad(7*md_max), pac(7*mc_max), prim(7*9*mc_max*md_max), scale
21750 INTEGER :: ma, mb, mc, md, p_index
21751 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
21753 kbd(1:9*md_max) = 0.0_dp
21754 kbc(1:9*mc_max) = 0.0_dp
21755 kad(1:7*md_max) = 0.0_dp
21756 kac(1:7*mc_max) = 0.0_dp
21763 p_bd = pbd((md - 1)*9 + mb)
21764 p_bc =
pbc((mc - 1)*9 + mb)
21766 p_index = p_index + 1
21767 tmp = scale*prim(p_index)
21768 ks_bc = ks_bc + tmp*pad((md - 1)*7 + ma)
21769 ks_bd = ks_bd + tmp*pac((mc - 1)*7 + ma)
21770 kad((md - 1)*7 + ma) = kad((md - 1)*7 + ma) - tmp*p_bc
21771 kac((mc - 1)*7 + ma) = kac((mc - 1)*7 + ma) - tmp*p_bd
21773 kbd((md - 1)*9 + mb) = kbd((md - 1)*9 + mb) - ks_bd
21774 kbc((mc - 1)*9 + mb) = kbc((mc - 1)*9 + mb) - ks_bc
21778 END SUBROUTINE block_7_9
21794 SUBROUTINE block_7_10(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
21795 INTEGER :: mc_max, md_max
21796 REAL(kind=
dp) :: kbd(10*md_max), kbc(10*mc_max), kad(7*md_max), kac(7*mc_max), &
21797 pbd(10*md_max),
pbc(10*mc_max), pad(7*md_max), pac(7*mc_max), prim(7*10*mc_max*md_max), &
21800 INTEGER :: ma, mb, mc, md, p_index
21801 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
21803 kbd(1:10*md_max) = 0.0_dp
21804 kbc(1:10*mc_max) = 0.0_dp
21805 kad(1:7*md_max) = 0.0_dp
21806 kac(1:7*mc_max) = 0.0_dp
21813 p_bd = pbd((md - 1)*10 + mb)
21814 p_bc =
pbc((mc - 1)*10 + mb)
21816 p_index = p_index + 1
21817 tmp = scale*prim(p_index)
21818 ks_bc = ks_bc + tmp*pad((md - 1)*7 + ma)
21819 ks_bd = ks_bd + tmp*pac((mc - 1)*7 + ma)
21820 kad((md - 1)*7 + ma) = kad((md - 1)*7 + ma) - tmp*p_bc
21821 kac((mc - 1)*7 + ma) = kac((mc - 1)*7 + ma) - tmp*p_bd
21823 kbd((md - 1)*10 + mb) = kbd((md - 1)*10 + mb) - ks_bd
21824 kbc((mc - 1)*10 + mb) = kbc((mc - 1)*10 + mb) - ks_bc
21828 END SUBROUTINE block_7_10
21844 SUBROUTINE block_7_11(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
21845 INTEGER :: mc_max, md_max
21846 REAL(kind=
dp) :: kbd(11*md_max), kbc(11*mc_max), kad(7*md_max), kac(7*mc_max), &
21847 pbd(11*md_max),
pbc(11*mc_max), pad(7*md_max), pac(7*mc_max), prim(7*11*mc_max*md_max), &
21850 INTEGER :: ma, mb, mc, md, p_index
21851 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
21853 kbd(1:11*md_max) = 0.0_dp
21854 kbc(1:11*mc_max) = 0.0_dp
21855 kad(1:7*md_max) = 0.0_dp
21856 kac(1:7*mc_max) = 0.0_dp
21863 p_bd = pbd((md - 1)*11 + mb)
21864 p_bc =
pbc((mc - 1)*11 + mb)
21866 p_index = p_index + 1
21867 tmp = scale*prim(p_index)
21868 ks_bc = ks_bc + tmp*pad((md - 1)*7 + ma)
21869 ks_bd = ks_bd + tmp*pac((mc - 1)*7 + ma)
21870 kad((md - 1)*7 + ma) = kad((md - 1)*7 + ma) - tmp*p_bc
21871 kac((mc - 1)*7 + ma) = kac((mc - 1)*7 + ma) - tmp*p_bd
21873 kbd((md - 1)*11 + mb) = kbd((md - 1)*11 + mb) - ks_bd
21874 kbc((mc - 1)*11 + mb) = kbc((mc - 1)*11 + mb) - ks_bc
21878 END SUBROUTINE block_7_11
21894 SUBROUTINE block_7_15(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
21895 INTEGER :: mc_max, md_max
21896 REAL(kind=
dp) :: kbd(15*md_max), kbc(15*mc_max), kad(7*md_max), kac(7*mc_max), &
21897 pbd(15*md_max),
pbc(15*mc_max), pad(7*md_max), pac(7*mc_max), prim(7*15*mc_max*md_max), &
21900 INTEGER :: ma, mb, mc, md, p_index
21901 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
21903 kbd(1:15*md_max) = 0.0_dp
21904 kbc(1:15*mc_max) = 0.0_dp
21905 kad(1:7*md_max) = 0.0_dp
21906 kac(1:7*mc_max) = 0.0_dp
21913 p_bd = pbd((md - 1)*15 + mb)
21914 p_bc =
pbc((mc - 1)*15 + mb)
21916 p_index = p_index + 1
21917 tmp = scale*prim(p_index)
21918 ks_bc = ks_bc + tmp*pad((md - 1)*7 + ma)
21919 ks_bd = ks_bd + tmp*pac((mc - 1)*7 + ma)
21920 kad((md - 1)*7 + ma) = kad((md - 1)*7 + ma) - tmp*p_bc
21921 kac((mc - 1)*7 + ma) = kac((mc - 1)*7 + ma) - tmp*p_bd
21923 kbd((md - 1)*15 + mb) = kbd((md - 1)*15 + mb) - ks_bd
21924 kbc((mc - 1)*15 + mb) = kbc((mc - 1)*15 + mb) - ks_bc
21928 END SUBROUTINE block_7_15
21942 SUBROUTINE block_9_1_1_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
21943 REAL(kind=
dp) :: kbd(1*1), kbc(1*1), kad(9*1), kac(9*1), &
21944 pbd(1*1),
pbc(1*1), pad(9*1), &
21945 pac(9*1), prim(9*1*1*1), scale
21947 INTEGER :: ma, mb, mc, md, p_index
21948 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
21950 kbd(1:1*1) = 0.0_dp
21951 kbc(1:1*1) = 0.0_dp
21952 kad(1:9*1) = 0.0_dp
21953 kac(1:9*1) = 0.0_dp
21960 p_bd = pbd((md - 1)*1 + mb)
21961 p_bc =
pbc((mc - 1)*1 + mb)
21963 p_index = p_index + 1
21964 tmp = scale*prim(p_index)
21965 ks_bc = ks_bc + tmp*pad((md - 1)*9 + ma)
21966 ks_bd = ks_bd + tmp*pac((mc - 1)*9 + ma)
21967 kad((md - 1)*9 + ma) = kad((md - 1)*9 + ma) - tmp*p_bc
21968 kac((mc - 1)*9 + ma) = kac((mc - 1)*9 + ma) - tmp*p_bd
21970 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
21971 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
21975 END SUBROUTINE block_9_1_1_1
21989 SUBROUTINE block_9_1_1_2(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
21990 REAL(kind=
dp) :: kbd(1*2), kbc(1*1), kad(9*2), kac(9*1), &
21991 pbd(1*2),
pbc(1*1), pad(9*2), &
21992 pac(9*1), prim(9*1*1*2), scale
21994 INTEGER :: ma, mb, mc, md, p_index
21995 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
21997 kbd(1:1*2) = 0.0_dp
21998 kbc(1:1*1) = 0.0_dp
21999 kad(1:9*2) = 0.0_dp
22000 kac(1:9*1) = 0.0_dp
22007 p_bd = pbd((md - 1)*1 + mb)
22008 p_bc =
pbc((mc - 1)*1 + mb)
22010 p_index = p_index + 1
22011 tmp = scale*prim(p_index)
22012 ks_bc = ks_bc + tmp*pad((md - 1)*9 + ma)
22013 ks_bd = ks_bd + tmp*pac((mc - 1)*9 + ma)
22014 kad((md - 1)*9 + ma) = kad((md - 1)*9 + ma) - tmp*p_bc
22015 kac((mc - 1)*9 + ma) = kac((mc - 1)*9 + ma) - tmp*p_bd
22017 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
22018 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
22022 END SUBROUTINE block_9_1_1_2
22037 SUBROUTINE block_9_1_1(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
22039 REAL(kind=
dp) :: kbd(1*md_max), kbc(1*1), kad(9*md_max), kac(9*1), pbd(1*md_max),
pbc(1*1), &
22040 pad(9*md_max), pac(9*1), prim(9*1*1*md_max), scale
22042 INTEGER :: ma, mb, mc, md, p_index
22043 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
22045 kbd(1:1*md_max) = 0.0_dp
22046 kbc(1:1*1) = 0.0_dp
22047 kad(1:9*md_max) = 0.0_dp
22048 kac(1:9*1) = 0.0_dp
22055 p_bd = pbd((md - 1)*1 + mb)
22056 p_bc =
pbc((mc - 1)*1 + mb)
22058 p_index = p_index + 1
22059 tmp = scale*prim(p_index)
22060 ks_bc = ks_bc + tmp*pad((md - 1)*9 + ma)
22061 ks_bd = ks_bd + tmp*pac((mc - 1)*9 + ma)
22062 kad((md - 1)*9 + ma) = kad((md - 1)*9 + ma) - tmp*p_bc
22063 kac((mc - 1)*9 + ma) = kac((mc - 1)*9 + ma) - tmp*p_bd
22065 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
22066 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
22070 END SUBROUTINE block_9_1_1
22084 SUBROUTINE block_9_1_2_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
22085 REAL(kind=
dp) :: kbd(1*1), kbc(1*2), kad(9*1), kac(9*2), &
22086 pbd(1*1),
pbc(1*2), pad(9*1), &
22087 pac(9*2), prim(9*1*2*1), scale
22089 INTEGER :: ma, mb, mc, md, p_index
22090 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
22092 kbd(1:1*1) = 0.0_dp
22093 kbc(1:1*2) = 0.0_dp
22094 kad(1:9*1) = 0.0_dp
22095 kac(1:9*2) = 0.0_dp
22102 p_bd = pbd((md - 1)*1 + mb)
22103 p_bc =
pbc((mc - 1)*1 + mb)
22105 p_index = p_index + 1
22106 tmp = scale*prim(p_index)
22107 ks_bc = ks_bc + tmp*pad((md - 1)*9 + ma)
22108 ks_bd = ks_bd + tmp*pac((mc - 1)*9 + ma)
22109 kad((md - 1)*9 + ma) = kad((md - 1)*9 + ma) - tmp*p_bc
22110 kac((mc - 1)*9 + ma) = kac((mc - 1)*9 + ma) - tmp*p_bd
22112 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
22113 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
22117 END SUBROUTINE block_9_1_2_1
22132 SUBROUTINE block_9_1_2(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
22134 REAL(kind=
dp) :: kbd(1*md_max), kbc(1*2), kad(9*md_max), kac(9*2), pbd(1*md_max),
pbc(1*2), &
22135 pad(9*md_max), pac(9*2), prim(9*1*2*md_max), scale
22137 INTEGER :: ma, mb, mc, md, p_index
22138 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
22140 kbd(1:1*md_max) = 0.0_dp
22141 kbc(1:1*2) = 0.0_dp
22142 kad(1:9*md_max) = 0.0_dp
22143 kac(1:9*2) = 0.0_dp
22150 p_bd = pbd((md - 1)*1 + mb)
22151 p_bc =
pbc((mc - 1)*1 + mb)
22153 p_index = p_index + 1
22154 tmp = scale*prim(p_index)
22155 ks_bc = ks_bc + tmp*pad((md - 1)*9 + ma)
22156 ks_bd = ks_bd + tmp*pac((mc - 1)*9 + ma)
22157 kad((md - 1)*9 + ma) = kad((md - 1)*9 + ma) - tmp*p_bc
22158 kac((mc - 1)*9 + ma) = kac((mc - 1)*9 + ma) - tmp*p_bd
22160 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
22161 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
22165 END SUBROUTINE block_9_1_2
22181 SUBROUTINE block_9_1(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
22182 INTEGER :: mc_max, md_max
22183 REAL(kind=
dp) :: kbd(1*md_max), kbc(1*mc_max), kad(9*md_max), kac(9*mc_max), pbd(1*md_max), &
22184 pbc(1*mc_max), pad(9*md_max), pac(9*mc_max), prim(9*1*mc_max*md_max), scale
22186 INTEGER :: ma, mb, mc, md, p_index
22187 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
22189 kbd(1:1*md_max) = 0.0_dp
22190 kbc(1:1*mc_max) = 0.0_dp
22191 kad(1:9*md_max) = 0.0_dp
22192 kac(1:9*mc_max) = 0.0_dp
22199 p_bd = pbd((md - 1)*1 + mb)
22200 p_bc =
pbc((mc - 1)*1 + mb)
22202 p_index = p_index + 1
22203 tmp = scale*prim(p_index)
22204 ks_bc = ks_bc + tmp*pad((md - 1)*9 + ma)
22205 ks_bd = ks_bd + tmp*pac((mc - 1)*9 + ma)
22206 kad((md - 1)*9 + ma) = kad((md - 1)*9 + ma) - tmp*p_bc
22207 kac((mc - 1)*9 + ma) = kac((mc - 1)*9 + ma) - tmp*p_bd
22209 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
22210 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
22214 END SUBROUTINE block_9_1
22228 SUBROUTINE block_9_2_1_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
22229 REAL(kind=
dp) :: kbd(2*1), kbc(2*1), kad(9*1), kac(9*1), &
22230 pbd(2*1),
pbc(2*1), pad(9*1), &
22231 pac(9*1), prim(9*2*1*1), scale
22233 INTEGER :: ma, mb, mc, md, p_index
22234 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
22236 kbd(1:2*1) = 0.0_dp
22237 kbc(1:2*1) = 0.0_dp
22238 kad(1:9*1) = 0.0_dp
22239 kac(1:9*1) = 0.0_dp
22246 p_bd = pbd((md - 1)*2 + mb)
22247 p_bc =
pbc((mc - 1)*2 + mb)
22249 p_index = p_index + 1
22250 tmp = scale*prim(p_index)
22251 ks_bc = ks_bc + tmp*pad((md - 1)*9 + ma)
22252 ks_bd = ks_bd + tmp*pac((mc - 1)*9 + ma)
22253 kad((md - 1)*9 + ma) = kad((md - 1)*9 + ma) - tmp*p_bc
22254 kac((mc - 1)*9 + ma) = kac((mc - 1)*9 + ma) - tmp*p_bd
22256 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
22257 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
22261 END SUBROUTINE block_9_2_1_1
22276 SUBROUTINE block_9_2_1(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
22278 REAL(kind=
dp) :: kbd(2*md_max), kbc(2*1), kad(9*md_max), kac(9*1), pbd(2*md_max),
pbc(2*1), &
22279 pad(9*md_max), pac(9*1), prim(9*2*1*md_max), scale
22281 INTEGER :: ma, mb, mc, md, p_index
22282 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
22284 kbd(1:2*md_max) = 0.0_dp
22285 kbc(1:2*1) = 0.0_dp
22286 kad(1:9*md_max) = 0.0_dp
22287 kac(1:9*1) = 0.0_dp
22294 p_bd = pbd((md - 1)*2 + mb)
22295 p_bc =
pbc((mc - 1)*2 + mb)
22297 p_index = p_index + 1
22298 tmp = scale*prim(p_index)
22299 ks_bc = ks_bc + tmp*pad((md - 1)*9 + ma)
22300 ks_bd = ks_bd + tmp*pac((mc - 1)*9 + ma)
22301 kad((md - 1)*9 + ma) = kad((md - 1)*9 + ma) - tmp*p_bc
22302 kac((mc - 1)*9 + ma) = kac((mc - 1)*9 + ma) - tmp*p_bd
22304 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
22305 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
22309 END SUBROUTINE block_9_2_1
22325 SUBROUTINE block_9_2(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
22326 INTEGER :: mc_max, md_max
22327 REAL(kind=
dp) :: kbd(2*md_max), kbc(2*mc_max), kad(9*md_max), kac(9*mc_max), pbd(2*md_max), &
22328 pbc(2*mc_max), pad(9*md_max), pac(9*mc_max), prim(9*2*mc_max*md_max), scale
22330 INTEGER :: ma, mb, mc, md, p_index
22331 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
22333 kbd(1:2*md_max) = 0.0_dp
22334 kbc(1:2*mc_max) = 0.0_dp
22335 kad(1:9*md_max) = 0.0_dp
22336 kac(1:9*mc_max) = 0.0_dp
22343 p_bd = pbd((md - 1)*2 + mb)
22344 p_bc =
pbc((mc - 1)*2 + mb)
22346 p_index = p_index + 1
22347 tmp = scale*prim(p_index)
22348 ks_bc = ks_bc + tmp*pad((md - 1)*9 + ma)
22349 ks_bd = ks_bd + tmp*pac((mc - 1)*9 + ma)
22350 kad((md - 1)*9 + ma) = kad((md - 1)*9 + ma) - tmp*p_bc
22351 kac((mc - 1)*9 + ma) = kac((mc - 1)*9 + ma) - tmp*p_bd
22353 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
22354 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
22358 END SUBROUTINE block_9_2
22374 SUBROUTINE block_9_3(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
22375 INTEGER :: mc_max, md_max
22376 REAL(kind=
dp) :: kbd(3*md_max), kbc(3*mc_max), kad(9*md_max), kac(9*mc_max), pbd(3*md_max), &
22377 pbc(3*mc_max), pad(9*md_max), pac(9*mc_max), prim(9*3*mc_max*md_max), scale
22379 INTEGER :: ma, mb, mc, md, p_index
22380 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
22382 kbd(1:3*md_max) = 0.0_dp
22383 kbc(1:3*mc_max) = 0.0_dp
22384 kad(1:9*md_max) = 0.0_dp
22385 kac(1:9*mc_max) = 0.0_dp
22392 p_bd = pbd((md - 1)*3 + mb)
22393 p_bc =
pbc((mc - 1)*3 + mb)
22395 p_index = p_index + 1
22396 tmp = scale*prim(p_index)
22397 ks_bc = ks_bc + tmp*pad((md - 1)*9 + ma)
22398 ks_bd = ks_bd + tmp*pac((mc - 1)*9 + ma)
22399 kad((md - 1)*9 + ma) = kad((md - 1)*9 + ma) - tmp*p_bc
22400 kac((mc - 1)*9 + ma) = kac((mc - 1)*9 + ma) - tmp*p_bd
22402 kbd((md - 1)*3 + mb) = kbd((md - 1)*3 + mb) - ks_bd
22403 kbc((mc - 1)*3 + mb) = kbc((mc - 1)*3 + mb) - ks_bc
22407 END SUBROUTINE block_9_3
22423 SUBROUTINE block_9_4(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
22424 INTEGER :: mc_max, md_max
22425 REAL(kind=
dp) :: kbd(4*md_max), kbc(4*mc_max), kad(9*md_max), kac(9*mc_max), pbd(4*md_max), &
22426 pbc(4*mc_max), pad(9*md_max), pac(9*mc_max), prim(9*4*mc_max*md_max), scale
22428 INTEGER :: ma, mb, mc, md, p_index
22429 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
22431 kbd(1:4*md_max) = 0.0_dp
22432 kbc(1:4*mc_max) = 0.0_dp
22433 kad(1:9*md_max) = 0.0_dp
22434 kac(1:9*mc_max) = 0.0_dp
22441 p_bd = pbd((md - 1)*4 + mb)
22442 p_bc =
pbc((mc - 1)*4 + mb)
22444 p_index = p_index + 1
22445 tmp = scale*prim(p_index)
22446 ks_bc = ks_bc + tmp*pad((md - 1)*9 + ma)
22447 ks_bd = ks_bd + tmp*pac((mc - 1)*9 + ma)
22448 kad((md - 1)*9 + ma) = kad((md - 1)*9 + ma) - tmp*p_bc
22449 kac((mc - 1)*9 + ma) = kac((mc - 1)*9 + ma) - tmp*p_bd
22451 kbd((md - 1)*4 + mb) = kbd((md - 1)*4 + mb) - ks_bd
22452 kbc((mc - 1)*4 + mb) = kbc((mc - 1)*4 + mb) - ks_bc
22456 END SUBROUTINE block_9_4
22472 SUBROUTINE block_9_5(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
22473 INTEGER :: mc_max, md_max
22474 REAL(kind=
dp) :: kbd(5*md_max), kbc(5*mc_max), kad(9*md_max), kac(9*mc_max), pbd(5*md_max), &
22475 pbc(5*mc_max), pad(9*md_max), pac(9*mc_max), prim(9*5*mc_max*md_max), scale
22477 INTEGER :: ma, mb, mc, md, p_index
22478 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
22480 kbd(1:5*md_max) = 0.0_dp
22481 kbc(1:5*mc_max) = 0.0_dp
22482 kad(1:9*md_max) = 0.0_dp
22483 kac(1:9*mc_max) = 0.0_dp
22490 p_bd = pbd((md - 1)*5 + mb)
22491 p_bc =
pbc((mc - 1)*5 + mb)
22493 p_index = p_index + 1
22494 tmp = scale*prim(p_index)
22495 ks_bc = ks_bc + tmp*pad((md - 1)*9 + ma)
22496 ks_bd = ks_bd + tmp*pac((mc - 1)*9 + ma)
22497 kad((md - 1)*9 + ma) = kad((md - 1)*9 + ma) - tmp*p_bc
22498 kac((mc - 1)*9 + ma) = kac((mc - 1)*9 + ma) - tmp*p_bd
22500 kbd((md - 1)*5 + mb) = kbd((md - 1)*5 + mb) - ks_bd
22501 kbc((mc - 1)*5 + mb) = kbc((mc - 1)*5 + mb) - ks_bc
22505 END SUBROUTINE block_9_5
22521 SUBROUTINE block_9_6(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
22522 INTEGER :: mc_max, md_max
22523 REAL(kind=
dp) :: kbd(6*md_max), kbc(6*mc_max), kad(9*md_max), kac(9*mc_max), pbd(6*md_max), &
22524 pbc(6*mc_max), pad(9*md_max), pac(9*mc_max), prim(9*6*mc_max*md_max), scale
22526 INTEGER :: ma, mb, mc, md, p_index
22527 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
22529 kbd(1:6*md_max) = 0.0_dp
22530 kbc(1:6*mc_max) = 0.0_dp
22531 kad(1:9*md_max) = 0.0_dp
22532 kac(1:9*mc_max) = 0.0_dp
22539 p_bd = pbd((md - 1)*6 + mb)
22540 p_bc =
pbc((mc - 1)*6 + mb)
22542 p_index = p_index + 1
22543 tmp = scale*prim(p_index)
22544 ks_bc = ks_bc + tmp*pad((md - 1)*9 + ma)
22545 ks_bd = ks_bd + tmp*pac((mc - 1)*9 + ma)
22546 kad((md - 1)*9 + ma) = kad((md - 1)*9 + ma) - tmp*p_bc
22547 kac((mc - 1)*9 + ma) = kac((mc - 1)*9 + ma) - tmp*p_bd
22549 kbd((md - 1)*6 + mb) = kbd((md - 1)*6 + mb) - ks_bd
22550 kbc((mc - 1)*6 + mb) = kbc((mc - 1)*6 + mb) - ks_bc
22554 END SUBROUTINE block_9_6
22570 SUBROUTINE block_9_7(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
22571 INTEGER :: mc_max, md_max
22572 REAL(kind=
dp) :: kbd(7*md_max), kbc(7*mc_max), kad(9*md_max), kac(9*mc_max), pbd(7*md_max), &
22573 pbc(7*mc_max), pad(9*md_max), pac(9*mc_max), prim(9*7*mc_max*md_max), scale
22575 INTEGER :: ma, mb, mc, md, p_index
22576 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
22578 kbd(1:7*md_max) = 0.0_dp
22579 kbc(1:7*mc_max) = 0.0_dp
22580 kad(1:9*md_max) = 0.0_dp
22581 kac(1:9*mc_max) = 0.0_dp
22588 p_bd = pbd((md - 1)*7 + mb)
22589 p_bc =
pbc((mc - 1)*7 + mb)
22591 p_index = p_index + 1
22592 tmp = scale*prim(p_index)
22593 ks_bc = ks_bc + tmp*pad((md - 1)*9 + ma)
22594 ks_bd = ks_bd + tmp*pac((mc - 1)*9 + ma)
22595 kad((md - 1)*9 + ma) = kad((md - 1)*9 + ma) - tmp*p_bc
22596 kac((mc - 1)*9 + ma) = kac((mc - 1)*9 + ma) - tmp*p_bd
22598 kbd((md - 1)*7 + mb) = kbd((md - 1)*7 + mb) - ks_bd
22599 kbc((mc - 1)*7 + mb) = kbc((mc - 1)*7 + mb) - ks_bc
22603 END SUBROUTINE block_9_7
22619 SUBROUTINE block_9_9(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
22620 INTEGER :: mc_max, md_max
22621 REAL(kind=
dp) :: kbd(9*md_max), kbc(9*mc_max), kad(9*md_max), kac(9*mc_max), pbd(9*md_max), &
22622 pbc(9*mc_max), pad(9*md_max), pac(9*mc_max), prim(9*9*mc_max*md_max), scale
22624 INTEGER :: ma, mb, mc, md, p_index
22625 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
22627 kbd(1:9*md_max) = 0.0_dp
22628 kbc(1:9*mc_max) = 0.0_dp
22629 kad(1:9*md_max) = 0.0_dp
22630 kac(1:9*mc_max) = 0.0_dp
22637 p_bd = pbd((md - 1)*9 + mb)
22638 p_bc =
pbc((mc - 1)*9 + mb)
22640 p_index = p_index + 1
22641 tmp = scale*prim(p_index)
22642 ks_bc = ks_bc + tmp*pad((md - 1)*9 + ma)
22643 ks_bd = ks_bd + tmp*pac((mc - 1)*9 + ma)
22644 kad((md - 1)*9 + ma) = kad((md - 1)*9 + ma) - tmp*p_bc
22645 kac((mc - 1)*9 + ma) = kac((mc - 1)*9 + ma) - tmp*p_bd
22647 kbd((md - 1)*9 + mb) = kbd((md - 1)*9 + mb) - ks_bd
22648 kbc((mc - 1)*9 + mb) = kbc((mc - 1)*9 + mb) - ks_bc
22652 END SUBROUTINE block_9_9
22668 SUBROUTINE block_9_10(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
22669 INTEGER :: mc_max, md_max
22670 REAL(kind=
dp) :: kbd(10*md_max), kbc(10*mc_max), kad(9*md_max), kac(9*mc_max), &
22671 pbd(10*md_max),
pbc(10*mc_max), pad(9*md_max), pac(9*mc_max), prim(9*10*mc_max*md_max), &
22674 INTEGER :: ma, mb, mc, md, p_index
22675 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
22677 kbd(1:10*md_max) = 0.0_dp
22678 kbc(1:10*mc_max) = 0.0_dp
22679 kad(1:9*md_max) = 0.0_dp
22680 kac(1:9*mc_max) = 0.0_dp
22687 p_bd = pbd((md - 1)*10 + mb)
22688 p_bc =
pbc((mc - 1)*10 + mb)
22690 p_index = p_index + 1
22691 tmp = scale*prim(p_index)
22692 ks_bc = ks_bc + tmp*pad((md - 1)*9 + ma)
22693 ks_bd = ks_bd + tmp*pac((mc - 1)*9 + ma)
22694 kad((md - 1)*9 + ma) = kad((md - 1)*9 + ma) - tmp*p_bc
22695 kac((mc - 1)*9 + ma) = kac((mc - 1)*9 + ma) - tmp*p_bd
22697 kbd((md - 1)*10 + mb) = kbd((md - 1)*10 + mb) - ks_bd
22698 kbc((mc - 1)*10 + mb) = kbc((mc - 1)*10 + mb) - ks_bc
22702 END SUBROUTINE block_9_10
22718 SUBROUTINE block_9_11(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
22719 INTEGER :: mc_max, md_max
22720 REAL(kind=
dp) :: kbd(11*md_max), kbc(11*mc_max), kad(9*md_max), kac(9*mc_max), &
22721 pbd(11*md_max),
pbc(11*mc_max), pad(9*md_max), pac(9*mc_max), prim(9*11*mc_max*md_max), &
22724 INTEGER :: ma, mb, mc, md, p_index
22725 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
22727 kbd(1:11*md_max) = 0.0_dp
22728 kbc(1:11*mc_max) = 0.0_dp
22729 kad(1:9*md_max) = 0.0_dp
22730 kac(1:9*mc_max) = 0.0_dp
22737 p_bd = pbd((md - 1)*11 + mb)
22738 p_bc =
pbc((mc - 1)*11 + mb)
22740 p_index = p_index + 1
22741 tmp = scale*prim(p_index)
22742 ks_bc = ks_bc + tmp*pad((md - 1)*9 + ma)
22743 ks_bd = ks_bd + tmp*pac((mc - 1)*9 + ma)
22744 kad((md - 1)*9 + ma) = kad((md - 1)*9 + ma) - tmp*p_bc
22745 kac((mc - 1)*9 + ma) = kac((mc - 1)*9 + ma) - tmp*p_bd
22747 kbd((md - 1)*11 + mb) = kbd((md - 1)*11 + mb) - ks_bd
22748 kbc((mc - 1)*11 + mb) = kbc((mc - 1)*11 + mb) - ks_bc
22752 END SUBROUTINE block_9_11
22768 SUBROUTINE block_9_15(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
22769 INTEGER :: mc_max, md_max
22770 REAL(kind=
dp) :: kbd(15*md_max), kbc(15*mc_max), kad(9*md_max), kac(9*mc_max), &
22771 pbd(15*md_max),
pbc(15*mc_max), pad(9*md_max), pac(9*mc_max), prim(9*15*mc_max*md_max), &
22774 INTEGER :: ma, mb, mc, md, p_index
22775 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
22777 kbd(1:15*md_max) = 0.0_dp
22778 kbc(1:15*mc_max) = 0.0_dp
22779 kad(1:9*md_max) = 0.0_dp
22780 kac(1:9*mc_max) = 0.0_dp
22787 p_bd = pbd((md - 1)*15 + mb)
22788 p_bc =
pbc((mc - 1)*15 + mb)
22790 p_index = p_index + 1
22791 tmp = scale*prim(p_index)
22792 ks_bc = ks_bc + tmp*pad((md - 1)*9 + ma)
22793 ks_bd = ks_bd + tmp*pac((mc - 1)*9 + ma)
22794 kad((md - 1)*9 + ma) = kad((md - 1)*9 + ma) - tmp*p_bc
22795 kac((mc - 1)*9 + ma) = kac((mc - 1)*9 + ma) - tmp*p_bd
22797 kbd((md - 1)*15 + mb) = kbd((md - 1)*15 + mb) - ks_bd
22798 kbc((mc - 1)*15 + mb) = kbc((mc - 1)*15 + mb) - ks_bc
22802 END SUBROUTINE block_9_15
22816 SUBROUTINE block_10_1_1_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
22817 REAL(kind=
dp) :: kbd(1*1), kbc(1*1), kad(10*1), &
22818 kac(10*1), pbd(1*1),
pbc(1*1), &
22819 pad(10*1), pac(10*1), prim(10*1*1*1), &
22822 INTEGER :: ma, mb, mc, md, p_index
22823 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
22825 kbd(1:1*1) = 0.0_dp
22826 kbc(1:1*1) = 0.0_dp
22827 kad(1:10*1) = 0.0_dp
22828 kac(1:10*1) = 0.0_dp
22835 p_bd = pbd((md - 1)*1 + mb)
22836 p_bc =
pbc((mc - 1)*1 + mb)
22838 p_index = p_index + 1
22839 tmp = scale*prim(p_index)
22840 ks_bc = ks_bc + tmp*pad((md - 1)*10 + ma)
22841 ks_bd = ks_bd + tmp*pac((mc - 1)*10 + ma)
22842 kad((md - 1)*10 + ma) = kad((md - 1)*10 + ma) - tmp*p_bc
22843 kac((mc - 1)*10 + ma) = kac((mc - 1)*10 + ma) - tmp*p_bd
22845 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
22846 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
22850 END SUBROUTINE block_10_1_1_1
22865 SUBROUTINE block_10_1_1(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
22867 REAL(kind=
dp) :: kbd(1*md_max), kbc(1*1), kad(10*md_max), kac(10*1), pbd(1*md_max), &
22868 pbc(1*1), pad(10*md_max), pac(10*1), prim(10*1*1*md_max), scale
22870 INTEGER :: ma, mb, mc, md, p_index
22871 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
22873 kbd(1:1*md_max) = 0.0_dp
22874 kbc(1:1*1) = 0.0_dp
22875 kad(1:10*md_max) = 0.0_dp
22876 kac(1:10*1) = 0.0_dp
22883 p_bd = pbd((md - 1)*1 + mb)
22884 p_bc =
pbc((mc - 1)*1 + mb)
22886 p_index = p_index + 1
22887 tmp = scale*prim(p_index)
22888 ks_bc = ks_bc + tmp*pad((md - 1)*10 + ma)
22889 ks_bd = ks_bd + tmp*pac((mc - 1)*10 + ma)
22890 kad((md - 1)*10 + ma) = kad((md - 1)*10 + ma) - tmp*p_bc
22891 kac((mc - 1)*10 + ma) = kac((mc - 1)*10 + ma) - tmp*p_bd
22893 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
22894 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
22898 END SUBROUTINE block_10_1_1
22914 SUBROUTINE block_10_1(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
22915 INTEGER :: mc_max, md_max
22916 REAL(kind=
dp) :: kbd(1*md_max), kbc(1*mc_max), kad(10*md_max), kac(10*mc_max), &
22917 pbd(1*md_max),
pbc(1*mc_max), pad(10*md_max), pac(10*mc_max), prim(10*1*mc_max*md_max), &
22920 INTEGER :: ma, mb, mc, md, p_index
22921 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
22923 kbd(1:1*md_max) = 0.0_dp
22924 kbc(1:1*mc_max) = 0.0_dp
22925 kad(1:10*md_max) = 0.0_dp
22926 kac(1:10*mc_max) = 0.0_dp
22933 p_bd = pbd((md - 1)*1 + mb)
22934 p_bc =
pbc((mc - 1)*1 + mb)
22936 p_index = p_index + 1
22937 tmp = scale*prim(p_index)
22938 ks_bc = ks_bc + tmp*pad((md - 1)*10 + ma)
22939 ks_bd = ks_bd + tmp*pac((mc - 1)*10 + ma)
22940 kad((md - 1)*10 + ma) = kad((md - 1)*10 + ma) - tmp*p_bc
22941 kac((mc - 1)*10 + ma) = kac((mc - 1)*10 + ma) - tmp*p_bd
22943 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
22944 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
22948 END SUBROUTINE block_10_1
22964 SUBROUTINE block_10_2(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
22965 INTEGER :: mc_max, md_max
22966 REAL(kind=
dp) :: kbd(2*md_max), kbc(2*mc_max), kad(10*md_max), kac(10*mc_max), &
22967 pbd(2*md_max),
pbc(2*mc_max), pad(10*md_max), pac(10*mc_max), prim(10*2*mc_max*md_max), &
22970 INTEGER :: ma, mb, mc, md, p_index
22971 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
22973 kbd(1:2*md_max) = 0.0_dp
22974 kbc(1:2*mc_max) = 0.0_dp
22975 kad(1:10*md_max) = 0.0_dp
22976 kac(1:10*mc_max) = 0.0_dp
22983 p_bd = pbd((md - 1)*2 + mb)
22984 p_bc =
pbc((mc - 1)*2 + mb)
22986 p_index = p_index + 1
22987 tmp = scale*prim(p_index)
22988 ks_bc = ks_bc + tmp*pad((md - 1)*10 + ma)
22989 ks_bd = ks_bd + tmp*pac((mc - 1)*10 + ma)
22990 kad((md - 1)*10 + ma) = kad((md - 1)*10 + ma) - tmp*p_bc
22991 kac((mc - 1)*10 + ma) = kac((mc - 1)*10 + ma) - tmp*p_bd
22993 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
22994 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
22998 END SUBROUTINE block_10_2
23014 SUBROUTINE block_10_3(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
23015 INTEGER :: mc_max, md_max
23016 REAL(kind=
dp) :: kbd(3*md_max), kbc(3*mc_max), kad(10*md_max), kac(10*mc_max), &
23017 pbd(3*md_max),
pbc(3*mc_max), pad(10*md_max), pac(10*mc_max), prim(10*3*mc_max*md_max), &
23020 INTEGER :: ma, mb, mc, md, p_index
23021 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
23023 kbd(1:3*md_max) = 0.0_dp
23024 kbc(1:3*mc_max) = 0.0_dp
23025 kad(1:10*md_max) = 0.0_dp
23026 kac(1:10*mc_max) = 0.0_dp
23033 p_bd = pbd((md - 1)*3 + mb)
23034 p_bc =
pbc((mc - 1)*3 + mb)
23036 p_index = p_index + 1
23037 tmp = scale*prim(p_index)
23038 ks_bc = ks_bc + tmp*pad((md - 1)*10 + ma)
23039 ks_bd = ks_bd + tmp*pac((mc - 1)*10 + ma)
23040 kad((md - 1)*10 + ma) = kad((md - 1)*10 + ma) - tmp*p_bc
23041 kac((mc - 1)*10 + ma) = kac((mc - 1)*10 + ma) - tmp*p_bd
23043 kbd((md - 1)*3 + mb) = kbd((md - 1)*3 + mb) - ks_bd
23044 kbc((mc - 1)*3 + mb) = kbc((mc - 1)*3 + mb) - ks_bc
23048 END SUBROUTINE block_10_3
23064 SUBROUTINE block_10_4(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
23065 INTEGER :: mc_max, md_max
23066 REAL(kind=
dp) :: kbd(4*md_max), kbc(4*mc_max), kad(10*md_max), kac(10*mc_max), &
23067 pbd(4*md_max),
pbc(4*mc_max), pad(10*md_max), pac(10*mc_max), prim(10*4*mc_max*md_max), &
23070 INTEGER :: ma, mb, mc, md, p_index
23071 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
23073 kbd(1:4*md_max) = 0.0_dp
23074 kbc(1:4*mc_max) = 0.0_dp
23075 kad(1:10*md_max) = 0.0_dp
23076 kac(1:10*mc_max) = 0.0_dp
23083 p_bd = pbd((md - 1)*4 + mb)
23084 p_bc =
pbc((mc - 1)*4 + mb)
23086 p_index = p_index + 1
23087 tmp = scale*prim(p_index)
23088 ks_bc = ks_bc + tmp*pad((md - 1)*10 + ma)
23089 ks_bd = ks_bd + tmp*pac((mc - 1)*10 + ma)
23090 kad((md - 1)*10 + ma) = kad((md - 1)*10 + ma) - tmp*p_bc
23091 kac((mc - 1)*10 + ma) = kac((mc - 1)*10 + ma) - tmp*p_bd
23093 kbd((md - 1)*4 + mb) = kbd((md - 1)*4 + mb) - ks_bd
23094 kbc((mc - 1)*4 + mb) = kbc((mc - 1)*4 + mb) - ks_bc
23098 END SUBROUTINE block_10_4
23114 SUBROUTINE block_10_5(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
23115 INTEGER :: mc_max, md_max
23116 REAL(kind=
dp) :: kbd(5*md_max), kbc(5*mc_max), kad(10*md_max), kac(10*mc_max), &
23117 pbd(5*md_max),
pbc(5*mc_max), pad(10*md_max), pac(10*mc_max), prim(10*5*mc_max*md_max), &
23120 INTEGER :: ma, mb, mc, md, p_index
23121 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
23123 kbd(1:5*md_max) = 0.0_dp
23124 kbc(1:5*mc_max) = 0.0_dp
23125 kad(1:10*md_max) = 0.0_dp
23126 kac(1:10*mc_max) = 0.0_dp
23133 p_bd = pbd((md - 1)*5 + mb)
23134 p_bc =
pbc((mc - 1)*5 + mb)
23136 p_index = p_index + 1
23137 tmp = scale*prim(p_index)
23138 ks_bc = ks_bc + tmp*pad((md - 1)*10 + ma)
23139 ks_bd = ks_bd + tmp*pac((mc - 1)*10 + ma)
23140 kad((md - 1)*10 + ma) = kad((md - 1)*10 + ma) - tmp*p_bc
23141 kac((mc - 1)*10 + ma) = kac((mc - 1)*10 + ma) - tmp*p_bd
23143 kbd((md - 1)*5 + mb) = kbd((md - 1)*5 + mb) - ks_bd
23144 kbc((mc - 1)*5 + mb) = kbc((mc - 1)*5 + mb) - ks_bc
23148 END SUBROUTINE block_10_5
23164 SUBROUTINE block_10_6(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
23165 INTEGER :: mc_max, md_max
23166 REAL(kind=
dp) :: kbd(6*md_max), kbc(6*mc_max), kad(10*md_max), kac(10*mc_max), &
23167 pbd(6*md_max),
pbc(6*mc_max), pad(10*md_max), pac(10*mc_max), prim(10*6*mc_max*md_max), &
23170 INTEGER :: ma, mb, mc, md, p_index
23171 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
23173 kbd(1:6*md_max) = 0.0_dp
23174 kbc(1:6*mc_max) = 0.0_dp
23175 kad(1:10*md_max) = 0.0_dp
23176 kac(1:10*mc_max) = 0.0_dp
23183 p_bd = pbd((md - 1)*6 + mb)
23184 p_bc =
pbc((mc - 1)*6 + mb)
23186 p_index = p_index + 1
23187 tmp = scale*prim(p_index)
23188 ks_bc = ks_bc + tmp*pad((md - 1)*10 + ma)
23189 ks_bd = ks_bd + tmp*pac((mc - 1)*10 + ma)
23190 kad((md - 1)*10 + ma) = kad((md - 1)*10 + ma) - tmp*p_bc
23191 kac((mc - 1)*10 + ma) = kac((mc - 1)*10 + ma) - tmp*p_bd
23193 kbd((md - 1)*6 + mb) = kbd((md - 1)*6 + mb) - ks_bd
23194 kbc((mc - 1)*6 + mb) = kbc((mc - 1)*6 + mb) - ks_bc
23198 END SUBROUTINE block_10_6
23214 SUBROUTINE block_10_7(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
23215 INTEGER :: mc_max, md_max
23216 REAL(kind=
dp) :: kbd(7*md_max), kbc(7*mc_max), kad(10*md_max), kac(10*mc_max), &
23217 pbd(7*md_max),
pbc(7*mc_max), pad(10*md_max), pac(10*mc_max), prim(10*7*mc_max*md_max), &
23220 INTEGER :: ma, mb, mc, md, p_index
23221 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
23223 kbd(1:7*md_max) = 0.0_dp
23224 kbc(1:7*mc_max) = 0.0_dp
23225 kad(1:10*md_max) = 0.0_dp
23226 kac(1:10*mc_max) = 0.0_dp
23233 p_bd = pbd((md - 1)*7 + mb)
23234 p_bc =
pbc((mc - 1)*7 + mb)
23236 p_index = p_index + 1
23237 tmp = scale*prim(p_index)
23238 ks_bc = ks_bc + tmp*pad((md - 1)*10 + ma)
23239 ks_bd = ks_bd + tmp*pac((mc - 1)*10 + ma)
23240 kad((md - 1)*10 + ma) = kad((md - 1)*10 + ma) - tmp*p_bc
23241 kac((mc - 1)*10 + ma) = kac((mc - 1)*10 + ma) - tmp*p_bd
23243 kbd((md - 1)*7 + mb) = kbd((md - 1)*7 + mb) - ks_bd
23244 kbc((mc - 1)*7 + mb) = kbc((mc - 1)*7 + mb) - ks_bc
23248 END SUBROUTINE block_10_7
23264 SUBROUTINE block_10_9(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
23265 INTEGER :: mc_max, md_max
23266 REAL(kind=
dp) :: kbd(9*md_max), kbc(9*mc_max), kad(10*md_max), kac(10*mc_max), &
23267 pbd(9*md_max),
pbc(9*mc_max), pad(10*md_max), pac(10*mc_max), prim(10*9*mc_max*md_max), &
23270 INTEGER :: ma, mb, mc, md, p_index
23271 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
23273 kbd(1:9*md_max) = 0.0_dp
23274 kbc(1:9*mc_max) = 0.0_dp
23275 kad(1:10*md_max) = 0.0_dp
23276 kac(1:10*mc_max) = 0.0_dp
23283 p_bd = pbd((md - 1)*9 + mb)
23284 p_bc =
pbc((mc - 1)*9 + mb)
23286 p_index = p_index + 1
23287 tmp = scale*prim(p_index)
23288 ks_bc = ks_bc + tmp*pad((md - 1)*10 + ma)
23289 ks_bd = ks_bd + tmp*pac((mc - 1)*10 + ma)
23290 kad((md - 1)*10 + ma) = kad((md - 1)*10 + ma) - tmp*p_bc
23291 kac((mc - 1)*10 + ma) = kac((mc - 1)*10 + ma) - tmp*p_bd
23293 kbd((md - 1)*9 + mb) = kbd((md - 1)*9 + mb) - ks_bd
23294 kbc((mc - 1)*9 + mb) = kbc((mc - 1)*9 + mb) - ks_bc
23298 END SUBROUTINE block_10_9
23314 SUBROUTINE block_10_10(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
23315 INTEGER :: mc_max, md_max
23316 REAL(kind=
dp) :: kbd(10*md_max), kbc(10*mc_max), kad(10*md_max), kac(10*mc_max), &
23317 pbd(10*md_max),
pbc(10*mc_max), pad(10*md_max), pac(10*mc_max), &
23318 prim(10*10*mc_max*md_max), scale
23320 INTEGER :: ma, mb, mc, md, p_index
23321 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
23323 kbd(1:10*md_max) = 0.0_dp
23324 kbc(1:10*mc_max) = 0.0_dp
23325 kad(1:10*md_max) = 0.0_dp
23326 kac(1:10*mc_max) = 0.0_dp
23333 p_bd = pbd((md - 1)*10 + mb)
23334 p_bc =
pbc((mc - 1)*10 + mb)
23336 p_index = p_index + 1
23337 tmp = scale*prim(p_index)
23338 ks_bc = ks_bc + tmp*pad((md - 1)*10 + ma)
23339 ks_bd = ks_bd + tmp*pac((mc - 1)*10 + ma)
23340 kad((md - 1)*10 + ma) = kad((md - 1)*10 + ma) - tmp*p_bc
23341 kac((mc - 1)*10 + ma) = kac((mc - 1)*10 + ma) - tmp*p_bd
23343 kbd((md - 1)*10 + mb) = kbd((md - 1)*10 + mb) - ks_bd
23344 kbc((mc - 1)*10 + mb) = kbc((mc - 1)*10 + mb) - ks_bc
23348 END SUBROUTINE block_10_10
23364 SUBROUTINE block_10_11(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
23365 INTEGER :: mc_max, md_max
23366 REAL(kind=
dp) :: kbd(11*md_max), kbc(11*mc_max), kad(10*md_max), kac(10*mc_max), &
23367 pbd(11*md_max),
pbc(11*mc_max), pad(10*md_max), pac(10*mc_max), &
23368 prim(10*11*mc_max*md_max), scale
23370 INTEGER :: ma, mb, mc, md, p_index
23371 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
23373 kbd(1:11*md_max) = 0.0_dp
23374 kbc(1:11*mc_max) = 0.0_dp
23375 kad(1:10*md_max) = 0.0_dp
23376 kac(1:10*mc_max) = 0.0_dp
23383 p_bd = pbd((md - 1)*11 + mb)
23384 p_bc =
pbc((mc - 1)*11 + mb)
23386 p_index = p_index + 1
23387 tmp = scale*prim(p_index)
23388 ks_bc = ks_bc + tmp*pad((md - 1)*10 + ma)
23389 ks_bd = ks_bd + tmp*pac((mc - 1)*10 + ma)
23390 kad((md - 1)*10 + ma) = kad((md - 1)*10 + ma) - tmp*p_bc
23391 kac((mc - 1)*10 + ma) = kac((mc - 1)*10 + ma) - tmp*p_bd
23393 kbd((md - 1)*11 + mb) = kbd((md - 1)*11 + mb) - ks_bd
23394 kbc((mc - 1)*11 + mb) = kbc((mc - 1)*11 + mb) - ks_bc
23398 END SUBROUTINE block_10_11
23414 SUBROUTINE block_10_15(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
23415 INTEGER :: mc_max, md_max
23416 REAL(kind=
dp) :: kbd(15*md_max), kbc(15*mc_max), kad(10*md_max), kac(10*mc_max), &
23417 pbd(15*md_max),
pbc(15*mc_max), pad(10*md_max), pac(10*mc_max), &
23418 prim(10*15*mc_max*md_max), scale
23420 INTEGER :: ma, mb, mc, md, p_index
23421 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
23423 kbd(1:15*md_max) = 0.0_dp
23424 kbc(1:15*mc_max) = 0.0_dp
23425 kad(1:10*md_max) = 0.0_dp
23426 kac(1:10*mc_max) = 0.0_dp
23433 p_bd = pbd((md - 1)*15 + mb)
23434 p_bc =
pbc((mc - 1)*15 + mb)
23436 p_index = p_index + 1
23437 tmp = scale*prim(p_index)
23438 ks_bc = ks_bc + tmp*pad((md - 1)*10 + ma)
23439 ks_bd = ks_bd + tmp*pac((mc - 1)*10 + ma)
23440 kad((md - 1)*10 + ma) = kad((md - 1)*10 + ma) - tmp*p_bc
23441 kac((mc - 1)*10 + ma) = kac((mc - 1)*10 + ma) - tmp*p_bd
23443 kbd((md - 1)*15 + mb) = kbd((md - 1)*15 + mb) - ks_bd
23444 kbc((mc - 1)*15 + mb) = kbc((mc - 1)*15 + mb) - ks_bc
23448 END SUBROUTINE block_10_15
23462 SUBROUTINE block_11_1_1_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
23463 REAL(kind=
dp) :: kbd(1*1), kbc(1*1), kad(11*1), &
23464 kac(11*1), pbd(1*1),
pbc(1*1), &
23465 pad(11*1), pac(11*1), prim(11*1*1*1), &
23468 INTEGER :: ma, mb, mc, md, p_index
23469 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
23471 kbd(1:1*1) = 0.0_dp
23472 kbc(1:1*1) = 0.0_dp
23473 kad(1:11*1) = 0.0_dp
23474 kac(1:11*1) = 0.0_dp
23481 p_bd = pbd((md - 1)*1 + mb)
23482 p_bc =
pbc((mc - 1)*1 + mb)
23484 p_index = p_index + 1
23485 tmp = scale*prim(p_index)
23486 ks_bc = ks_bc + tmp*pad((md - 1)*11 + ma)
23487 ks_bd = ks_bd + tmp*pac((mc - 1)*11 + ma)
23488 kad((md - 1)*11 + ma) = kad((md - 1)*11 + ma) - tmp*p_bc
23489 kac((mc - 1)*11 + ma) = kac((mc - 1)*11 + ma) - tmp*p_bd
23491 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
23492 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
23496 END SUBROUTINE block_11_1_1_1
23511 SUBROUTINE block_11_1_1(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
23513 REAL(kind=
dp) :: kbd(1*md_max), kbc(1*1), kad(11*md_max), kac(11*1), pbd(1*md_max), &
23514 pbc(1*1), pad(11*md_max), pac(11*1), prim(11*1*1*md_max), scale
23516 INTEGER :: ma, mb, mc, md, p_index
23517 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
23519 kbd(1:1*md_max) = 0.0_dp
23520 kbc(1:1*1) = 0.0_dp
23521 kad(1:11*md_max) = 0.0_dp
23522 kac(1:11*1) = 0.0_dp
23529 p_bd = pbd((md - 1)*1 + mb)
23530 p_bc =
pbc((mc - 1)*1 + mb)
23532 p_index = p_index + 1
23533 tmp = scale*prim(p_index)
23534 ks_bc = ks_bc + tmp*pad((md - 1)*11 + ma)
23535 ks_bd = ks_bd + tmp*pac((mc - 1)*11 + ma)
23536 kad((md - 1)*11 + ma) = kad((md - 1)*11 + ma) - tmp*p_bc
23537 kac((mc - 1)*11 + ma) = kac((mc - 1)*11 + ma) - tmp*p_bd
23539 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
23540 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
23544 END SUBROUTINE block_11_1_1
23560 SUBROUTINE block_11_1(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
23561 INTEGER :: mc_max, md_max
23562 REAL(kind=
dp) :: kbd(1*md_max), kbc(1*mc_max), kad(11*md_max), kac(11*mc_max), &
23563 pbd(1*md_max),
pbc(1*mc_max), pad(11*md_max), pac(11*mc_max), prim(11*1*mc_max*md_max), &
23566 INTEGER :: ma, mb, mc, md, p_index
23567 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
23569 kbd(1:1*md_max) = 0.0_dp
23570 kbc(1:1*mc_max) = 0.0_dp
23571 kad(1:11*md_max) = 0.0_dp
23572 kac(1:11*mc_max) = 0.0_dp
23579 p_bd = pbd((md - 1)*1 + mb)
23580 p_bc =
pbc((mc - 1)*1 + mb)
23582 p_index = p_index + 1
23583 tmp = scale*prim(p_index)
23584 ks_bc = ks_bc + tmp*pad((md - 1)*11 + ma)
23585 ks_bd = ks_bd + tmp*pac((mc - 1)*11 + ma)
23586 kad((md - 1)*11 + ma) = kad((md - 1)*11 + ma) - tmp*p_bc
23587 kac((mc - 1)*11 + ma) = kac((mc - 1)*11 + ma) - tmp*p_bd
23589 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
23590 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
23594 END SUBROUTINE block_11_1
23610 SUBROUTINE block_11_2(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
23611 INTEGER :: mc_max, md_max
23612 REAL(kind=
dp) :: kbd(2*md_max), kbc(2*mc_max), kad(11*md_max), kac(11*mc_max), &
23613 pbd(2*md_max),
pbc(2*mc_max), pad(11*md_max), pac(11*mc_max), prim(11*2*mc_max*md_max), &
23616 INTEGER :: ma, mb, mc, md, p_index
23617 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
23619 kbd(1:2*md_max) = 0.0_dp
23620 kbc(1:2*mc_max) = 0.0_dp
23621 kad(1:11*md_max) = 0.0_dp
23622 kac(1:11*mc_max) = 0.0_dp
23629 p_bd = pbd((md - 1)*2 + mb)
23630 p_bc =
pbc((mc - 1)*2 + mb)
23632 p_index = p_index + 1
23633 tmp = scale*prim(p_index)
23634 ks_bc = ks_bc + tmp*pad((md - 1)*11 + ma)
23635 ks_bd = ks_bd + tmp*pac((mc - 1)*11 + ma)
23636 kad((md - 1)*11 + ma) = kad((md - 1)*11 + ma) - tmp*p_bc
23637 kac((mc - 1)*11 + ma) = kac((mc - 1)*11 + ma) - tmp*p_bd
23639 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
23640 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
23644 END SUBROUTINE block_11_2
23660 SUBROUTINE block_11_3(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
23661 INTEGER :: mc_max, md_max
23662 REAL(kind=
dp) :: kbd(3*md_max), kbc(3*mc_max), kad(11*md_max), kac(11*mc_max), &
23663 pbd(3*md_max),
pbc(3*mc_max), pad(11*md_max), pac(11*mc_max), prim(11*3*mc_max*md_max), &
23666 INTEGER :: ma, mb, mc, md, p_index
23667 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
23669 kbd(1:3*md_max) = 0.0_dp
23670 kbc(1:3*mc_max) = 0.0_dp
23671 kad(1:11*md_max) = 0.0_dp
23672 kac(1:11*mc_max) = 0.0_dp
23679 p_bd = pbd((md - 1)*3 + mb)
23680 p_bc =
pbc((mc - 1)*3 + mb)
23682 p_index = p_index + 1
23683 tmp = scale*prim(p_index)
23684 ks_bc = ks_bc + tmp*pad((md - 1)*11 + ma)
23685 ks_bd = ks_bd + tmp*pac((mc - 1)*11 + ma)
23686 kad((md - 1)*11 + ma) = kad((md - 1)*11 + ma) - tmp*p_bc
23687 kac((mc - 1)*11 + ma) = kac((mc - 1)*11 + ma) - tmp*p_bd
23689 kbd((md - 1)*3 + mb) = kbd((md - 1)*3 + mb) - ks_bd
23690 kbc((mc - 1)*3 + mb) = kbc((mc - 1)*3 + mb) - ks_bc
23694 END SUBROUTINE block_11_3
23710 SUBROUTINE block_11_4(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
23711 INTEGER :: mc_max, md_max
23712 REAL(kind=
dp) :: kbd(4*md_max), kbc(4*mc_max), kad(11*md_max), kac(11*mc_max), &
23713 pbd(4*md_max),
pbc(4*mc_max), pad(11*md_max), pac(11*mc_max), prim(11*4*mc_max*md_max), &
23716 INTEGER :: ma, mb, mc, md, p_index
23717 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
23719 kbd(1:4*md_max) = 0.0_dp
23720 kbc(1:4*mc_max) = 0.0_dp
23721 kad(1:11*md_max) = 0.0_dp
23722 kac(1:11*mc_max) = 0.0_dp
23729 p_bd = pbd((md - 1)*4 + mb)
23730 p_bc =
pbc((mc - 1)*4 + mb)
23732 p_index = p_index + 1
23733 tmp = scale*prim(p_index)
23734 ks_bc = ks_bc + tmp*pad((md - 1)*11 + ma)
23735 ks_bd = ks_bd + tmp*pac((mc - 1)*11 + ma)
23736 kad((md - 1)*11 + ma) = kad((md - 1)*11 + ma) - tmp*p_bc
23737 kac((mc - 1)*11 + ma) = kac((mc - 1)*11 + ma) - tmp*p_bd
23739 kbd((md - 1)*4 + mb) = kbd((md - 1)*4 + mb) - ks_bd
23740 kbc((mc - 1)*4 + mb) = kbc((mc - 1)*4 + mb) - ks_bc
23744 END SUBROUTINE block_11_4
23760 SUBROUTINE block_11_5(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
23761 INTEGER :: mc_max, md_max
23762 REAL(kind=
dp) :: kbd(5*md_max), kbc(5*mc_max), kad(11*md_max), kac(11*mc_max), &
23763 pbd(5*md_max),
pbc(5*mc_max), pad(11*md_max), pac(11*mc_max), prim(11*5*mc_max*md_max), &
23766 INTEGER :: ma, mb, mc, md, p_index
23767 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
23769 kbd(1:5*md_max) = 0.0_dp
23770 kbc(1:5*mc_max) = 0.0_dp
23771 kad(1:11*md_max) = 0.0_dp
23772 kac(1:11*mc_max) = 0.0_dp
23779 p_bd = pbd((md - 1)*5 + mb)
23780 p_bc =
pbc((mc - 1)*5 + mb)
23782 p_index = p_index + 1
23783 tmp = scale*prim(p_index)
23784 ks_bc = ks_bc + tmp*pad((md - 1)*11 + ma)
23785 ks_bd = ks_bd + tmp*pac((mc - 1)*11 + ma)
23786 kad((md - 1)*11 + ma) = kad((md - 1)*11 + ma) - tmp*p_bc
23787 kac((mc - 1)*11 + ma) = kac((mc - 1)*11 + ma) - tmp*p_bd
23789 kbd((md - 1)*5 + mb) = kbd((md - 1)*5 + mb) - ks_bd
23790 kbc((mc - 1)*5 + mb) = kbc((mc - 1)*5 + mb) - ks_bc
23794 END SUBROUTINE block_11_5
23810 SUBROUTINE block_11_6(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
23811 INTEGER :: mc_max, md_max
23812 REAL(kind=
dp) :: kbd(6*md_max), kbc(6*mc_max), kad(11*md_max), kac(11*mc_max), &
23813 pbd(6*md_max),
pbc(6*mc_max), pad(11*md_max), pac(11*mc_max), prim(11*6*mc_max*md_max), &
23816 INTEGER :: ma, mb, mc, md, p_index
23817 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
23819 kbd(1:6*md_max) = 0.0_dp
23820 kbc(1:6*mc_max) = 0.0_dp
23821 kad(1:11*md_max) = 0.0_dp
23822 kac(1:11*mc_max) = 0.0_dp
23829 p_bd = pbd((md - 1)*6 + mb)
23830 p_bc =
pbc((mc - 1)*6 + mb)
23832 p_index = p_index + 1
23833 tmp = scale*prim(p_index)
23834 ks_bc = ks_bc + tmp*pad((md - 1)*11 + ma)
23835 ks_bd = ks_bd + tmp*pac((mc - 1)*11 + ma)
23836 kad((md - 1)*11 + ma) = kad((md - 1)*11 + ma) - tmp*p_bc
23837 kac((mc - 1)*11 + ma) = kac((mc - 1)*11 + ma) - tmp*p_bd
23839 kbd((md - 1)*6 + mb) = kbd((md - 1)*6 + mb) - ks_bd
23840 kbc((mc - 1)*6 + mb) = kbc((mc - 1)*6 + mb) - ks_bc
23844 END SUBROUTINE block_11_6
23860 SUBROUTINE block_11_7(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
23861 INTEGER :: mc_max, md_max
23862 REAL(kind=
dp) :: kbd(7*md_max), kbc(7*mc_max), kad(11*md_max), kac(11*mc_max), &
23863 pbd(7*md_max),
pbc(7*mc_max), pad(11*md_max), pac(11*mc_max), prim(11*7*mc_max*md_max), &
23866 INTEGER :: ma, mb, mc, md, p_index
23867 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
23869 kbd(1:7*md_max) = 0.0_dp
23870 kbc(1:7*mc_max) = 0.0_dp
23871 kad(1:11*md_max) = 0.0_dp
23872 kac(1:11*mc_max) = 0.0_dp
23879 p_bd = pbd((md - 1)*7 + mb)
23880 p_bc =
pbc((mc - 1)*7 + mb)
23882 p_index = p_index + 1
23883 tmp = scale*prim(p_index)
23884 ks_bc = ks_bc + tmp*pad((md - 1)*11 + ma)
23885 ks_bd = ks_bd + tmp*pac((mc - 1)*11 + ma)
23886 kad((md - 1)*11 + ma) = kad((md - 1)*11 + ma) - tmp*p_bc
23887 kac((mc - 1)*11 + ma) = kac((mc - 1)*11 + ma) - tmp*p_bd
23889 kbd((md - 1)*7 + mb) = kbd((md - 1)*7 + mb) - ks_bd
23890 kbc((mc - 1)*7 + mb) = kbc((mc - 1)*7 + mb) - ks_bc
23894 END SUBROUTINE block_11_7
23910 SUBROUTINE block_11_9(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
23911 INTEGER :: mc_max, md_max
23912 REAL(kind=
dp) :: kbd(9*md_max), kbc(9*mc_max), kad(11*md_max), kac(11*mc_max), &
23913 pbd(9*md_max),
pbc(9*mc_max), pad(11*md_max), pac(11*mc_max), prim(11*9*mc_max*md_max), &
23916 INTEGER :: ma, mb, mc, md, p_index
23917 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
23919 kbd(1:9*md_max) = 0.0_dp
23920 kbc(1:9*mc_max) = 0.0_dp
23921 kad(1:11*md_max) = 0.0_dp
23922 kac(1:11*mc_max) = 0.0_dp
23929 p_bd = pbd((md - 1)*9 + mb)
23930 p_bc =
pbc((mc - 1)*9 + mb)
23932 p_index = p_index + 1
23933 tmp = scale*prim(p_index)
23934 ks_bc = ks_bc + tmp*pad((md - 1)*11 + ma)
23935 ks_bd = ks_bd + tmp*pac((mc - 1)*11 + ma)
23936 kad((md - 1)*11 + ma) = kad((md - 1)*11 + ma) - tmp*p_bc
23937 kac((mc - 1)*11 + ma) = kac((mc - 1)*11 + ma) - tmp*p_bd
23939 kbd((md - 1)*9 + mb) = kbd((md - 1)*9 + mb) - ks_bd
23940 kbc((mc - 1)*9 + mb) = kbc((mc - 1)*9 + mb) - ks_bc
23944 END SUBROUTINE block_11_9
23960 SUBROUTINE block_11_10(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
23961 INTEGER :: mc_max, md_max
23962 REAL(kind=
dp) :: kbd(10*md_max), kbc(10*mc_max), kad(11*md_max), kac(11*mc_max), &
23963 pbd(10*md_max),
pbc(10*mc_max), pad(11*md_max), pac(11*mc_max), &
23964 prim(11*10*mc_max*md_max), scale
23966 INTEGER :: ma, mb, mc, md, p_index
23967 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
23969 kbd(1:10*md_max) = 0.0_dp
23970 kbc(1:10*mc_max) = 0.0_dp
23971 kad(1:11*md_max) = 0.0_dp
23972 kac(1:11*mc_max) = 0.0_dp
23979 p_bd = pbd((md - 1)*10 + mb)
23980 p_bc =
pbc((mc - 1)*10 + mb)
23982 p_index = p_index + 1
23983 tmp = scale*prim(p_index)
23984 ks_bc = ks_bc + tmp*pad((md - 1)*11 + ma)
23985 ks_bd = ks_bd + tmp*pac((mc - 1)*11 + ma)
23986 kad((md - 1)*11 + ma) = kad((md - 1)*11 + ma) - tmp*p_bc
23987 kac((mc - 1)*11 + ma) = kac((mc - 1)*11 + ma) - tmp*p_bd
23989 kbd((md - 1)*10 + mb) = kbd((md - 1)*10 + mb) - ks_bd
23990 kbc((mc - 1)*10 + mb) = kbc((mc - 1)*10 + mb) - ks_bc
23994 END SUBROUTINE block_11_10
24010 SUBROUTINE block_11_11(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
24011 INTEGER :: mc_max, md_max
24012 REAL(kind=
dp) :: kbd(11*md_max), kbc(11*mc_max), kad(11*md_max), kac(11*mc_max), &
24013 pbd(11*md_max),
pbc(11*mc_max), pad(11*md_max), pac(11*mc_max), &
24014 prim(11*11*mc_max*md_max), scale
24016 INTEGER :: ma, mb, mc, md, p_index
24017 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
24019 kbd(1:11*md_max) = 0.0_dp
24020 kbc(1:11*mc_max) = 0.0_dp
24021 kad(1:11*md_max) = 0.0_dp
24022 kac(1:11*mc_max) = 0.0_dp
24029 p_bd = pbd((md - 1)*11 + mb)
24030 p_bc =
pbc((mc - 1)*11 + mb)
24032 p_index = p_index + 1
24033 tmp = scale*prim(p_index)
24034 ks_bc = ks_bc + tmp*pad((md - 1)*11 + ma)
24035 ks_bd = ks_bd + tmp*pac((mc - 1)*11 + ma)
24036 kad((md - 1)*11 + ma) = kad((md - 1)*11 + ma) - tmp*p_bc
24037 kac((mc - 1)*11 + ma) = kac((mc - 1)*11 + ma) - tmp*p_bd
24039 kbd((md - 1)*11 + mb) = kbd((md - 1)*11 + mb) - ks_bd
24040 kbc((mc - 1)*11 + mb) = kbc((mc - 1)*11 + mb) - ks_bc
24044 END SUBROUTINE block_11_11
24060 SUBROUTINE block_11_15(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
24061 INTEGER :: mc_max, md_max
24062 REAL(kind=
dp) :: kbd(15*md_max), kbc(15*mc_max), kad(11*md_max), kac(11*mc_max), &
24063 pbd(15*md_max),
pbc(15*mc_max), pad(11*md_max), pac(11*mc_max), &
24064 prim(11*15*mc_max*md_max), scale
24066 INTEGER :: ma, mb, mc, md, p_index
24067 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
24069 kbd(1:15*md_max) = 0.0_dp
24070 kbc(1:15*mc_max) = 0.0_dp
24071 kad(1:11*md_max) = 0.0_dp
24072 kac(1:11*mc_max) = 0.0_dp
24079 p_bd = pbd((md - 1)*15 + mb)
24080 p_bc =
pbc((mc - 1)*15 + mb)
24082 p_index = p_index + 1
24083 tmp = scale*prim(p_index)
24084 ks_bc = ks_bc + tmp*pad((md - 1)*11 + ma)
24085 ks_bd = ks_bd + tmp*pac((mc - 1)*11 + ma)
24086 kad((md - 1)*11 + ma) = kad((md - 1)*11 + ma) - tmp*p_bc
24087 kac((mc - 1)*11 + ma) = kac((mc - 1)*11 + ma) - tmp*p_bd
24089 kbd((md - 1)*15 + mb) = kbd((md - 1)*15 + mb) - ks_bd
24090 kbc((mc - 1)*15 + mb) = kbc((mc - 1)*15 + mb) - ks_bc
24094 END SUBROUTINE block_11_15
24108 SUBROUTINE block_15_1_1_1(kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
24109 REAL(kind=
dp) :: kbd(1*1), kbc(1*1), kad(15*1), &
24110 kac(15*1), pbd(1*1),
pbc(1*1), &
24111 pad(15*1), pac(15*1), prim(15*1*1*1), &
24114 INTEGER :: ma, mb, mc, md, p_index
24115 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
24117 kbd(1:1*1) = 0.0_dp
24118 kbc(1:1*1) = 0.0_dp
24119 kad(1:15*1) = 0.0_dp
24120 kac(1:15*1) = 0.0_dp
24127 p_bd = pbd((md - 1)*1 + mb)
24128 p_bc =
pbc((mc - 1)*1 + mb)
24130 p_index = p_index + 1
24131 tmp = scale*prim(p_index)
24132 ks_bc = ks_bc + tmp*pad((md - 1)*15 + ma)
24133 ks_bd = ks_bd + tmp*pac((mc - 1)*15 + ma)
24134 kad((md - 1)*15 + ma) = kad((md - 1)*15 + ma) - tmp*p_bc
24135 kac((mc - 1)*15 + ma) = kac((mc - 1)*15 + ma) - tmp*p_bd
24137 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
24138 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
24142 END SUBROUTINE block_15_1_1_1
24157 SUBROUTINE block_15_1_1(md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
24159 REAL(kind=
dp) :: kbd(1*md_max), kbc(1*1), kad(15*md_max), kac(15*1), pbd(1*md_max), &
24160 pbc(1*1), pad(15*md_max), pac(15*1), prim(15*1*1*md_max), scale
24162 INTEGER :: ma, mb, mc, md, p_index
24163 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
24165 kbd(1:1*md_max) = 0.0_dp
24166 kbc(1:1*1) = 0.0_dp
24167 kad(1:15*md_max) = 0.0_dp
24168 kac(1:15*1) = 0.0_dp
24175 p_bd = pbd((md - 1)*1 + mb)
24176 p_bc =
pbc((mc - 1)*1 + mb)
24178 p_index = p_index + 1
24179 tmp = scale*prim(p_index)
24180 ks_bc = ks_bc + tmp*pad((md - 1)*15 + ma)
24181 ks_bd = ks_bd + tmp*pac((mc - 1)*15 + ma)
24182 kad((md - 1)*15 + ma) = kad((md - 1)*15 + ma) - tmp*p_bc
24183 kac((mc - 1)*15 + ma) = kac((mc - 1)*15 + ma) - tmp*p_bd
24185 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
24186 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
24190 END SUBROUTINE block_15_1_1
24206 SUBROUTINE block_15_1(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
24207 INTEGER :: mc_max, md_max
24208 REAL(kind=
dp) :: kbd(1*md_max), kbc(1*mc_max), kad(15*md_max), kac(15*mc_max), &
24209 pbd(1*md_max),
pbc(1*mc_max), pad(15*md_max), pac(15*mc_max), prim(15*1*mc_max*md_max), &
24212 INTEGER :: ma, mb, mc, md, p_index
24213 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
24215 kbd(1:1*md_max) = 0.0_dp
24216 kbc(1:1*mc_max) = 0.0_dp
24217 kad(1:15*md_max) = 0.0_dp
24218 kac(1:15*mc_max) = 0.0_dp
24225 p_bd = pbd((md - 1)*1 + mb)
24226 p_bc =
pbc((mc - 1)*1 + mb)
24228 p_index = p_index + 1
24229 tmp = scale*prim(p_index)
24230 ks_bc = ks_bc + tmp*pad((md - 1)*15 + ma)
24231 ks_bd = ks_bd + tmp*pac((mc - 1)*15 + ma)
24232 kad((md - 1)*15 + ma) = kad((md - 1)*15 + ma) - tmp*p_bc
24233 kac((mc - 1)*15 + ma) = kac((mc - 1)*15 + ma) - tmp*p_bd
24235 kbd((md - 1)*1 + mb) = kbd((md - 1)*1 + mb) - ks_bd
24236 kbc((mc - 1)*1 + mb) = kbc((mc - 1)*1 + mb) - ks_bc
24240 END SUBROUTINE block_15_1
24256 SUBROUTINE block_15_2(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
24257 INTEGER :: mc_max, md_max
24258 REAL(kind=
dp) :: kbd(2*md_max), kbc(2*mc_max), kad(15*md_max), kac(15*mc_max), &
24259 pbd(2*md_max),
pbc(2*mc_max), pad(15*md_max), pac(15*mc_max), prim(15*2*mc_max*md_max), &
24262 INTEGER :: ma, mb, mc, md, p_index
24263 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
24265 kbd(1:2*md_max) = 0.0_dp
24266 kbc(1:2*mc_max) = 0.0_dp
24267 kad(1:15*md_max) = 0.0_dp
24268 kac(1:15*mc_max) = 0.0_dp
24275 p_bd = pbd((md - 1)*2 + mb)
24276 p_bc =
pbc((mc - 1)*2 + mb)
24278 p_index = p_index + 1
24279 tmp = scale*prim(p_index)
24280 ks_bc = ks_bc + tmp*pad((md - 1)*15 + ma)
24281 ks_bd = ks_bd + tmp*pac((mc - 1)*15 + ma)
24282 kad((md - 1)*15 + ma) = kad((md - 1)*15 + ma) - tmp*p_bc
24283 kac((mc - 1)*15 + ma) = kac((mc - 1)*15 + ma) - tmp*p_bd
24285 kbd((md - 1)*2 + mb) = kbd((md - 1)*2 + mb) - ks_bd
24286 kbc((mc - 1)*2 + mb) = kbc((mc - 1)*2 + mb) - ks_bc
24290 END SUBROUTINE block_15_2
24306 SUBROUTINE block_15_3(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
24307 INTEGER :: mc_max, md_max
24308 REAL(kind=
dp) :: kbd(3*md_max), kbc(3*mc_max), kad(15*md_max), kac(15*mc_max), &
24309 pbd(3*md_max),
pbc(3*mc_max), pad(15*md_max), pac(15*mc_max), prim(15*3*mc_max*md_max), &
24312 INTEGER :: ma, mb, mc, md, p_index
24313 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
24315 kbd(1:3*md_max) = 0.0_dp
24316 kbc(1:3*mc_max) = 0.0_dp
24317 kad(1:15*md_max) = 0.0_dp
24318 kac(1:15*mc_max) = 0.0_dp
24325 p_bd = pbd((md - 1)*3 + mb)
24326 p_bc =
pbc((mc - 1)*3 + mb)
24328 p_index = p_index + 1
24329 tmp = scale*prim(p_index)
24330 ks_bc = ks_bc + tmp*pad((md - 1)*15 + ma)
24331 ks_bd = ks_bd + tmp*pac((mc - 1)*15 + ma)
24332 kad((md - 1)*15 + ma) = kad((md - 1)*15 + ma) - tmp*p_bc
24333 kac((mc - 1)*15 + ma) = kac((mc - 1)*15 + ma) - tmp*p_bd
24335 kbd((md - 1)*3 + mb) = kbd((md - 1)*3 + mb) - ks_bd
24336 kbc((mc - 1)*3 + mb) = kbc((mc - 1)*3 + mb) - ks_bc
24340 END SUBROUTINE block_15_3
24356 SUBROUTINE block_15_4(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
24357 INTEGER :: mc_max, md_max
24358 REAL(kind=
dp) :: kbd(4*md_max), kbc(4*mc_max), kad(15*md_max), kac(15*mc_max), &
24359 pbd(4*md_max),
pbc(4*mc_max), pad(15*md_max), pac(15*mc_max), prim(15*4*mc_max*md_max), &
24362 INTEGER :: ma, mb, mc, md, p_index
24363 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
24365 kbd(1:4*md_max) = 0.0_dp
24366 kbc(1:4*mc_max) = 0.0_dp
24367 kad(1:15*md_max) = 0.0_dp
24368 kac(1:15*mc_max) = 0.0_dp
24375 p_bd = pbd((md - 1)*4 + mb)
24376 p_bc =
pbc((mc - 1)*4 + mb)
24378 p_index = p_index + 1
24379 tmp = scale*prim(p_index)
24380 ks_bc = ks_bc + tmp*pad((md - 1)*15 + ma)
24381 ks_bd = ks_bd + tmp*pac((mc - 1)*15 + ma)
24382 kad((md - 1)*15 + ma) = kad((md - 1)*15 + ma) - tmp*p_bc
24383 kac((mc - 1)*15 + ma) = kac((mc - 1)*15 + ma) - tmp*p_bd
24385 kbd((md - 1)*4 + mb) = kbd((md - 1)*4 + mb) - ks_bd
24386 kbc((mc - 1)*4 + mb) = kbc((mc - 1)*4 + mb) - ks_bc
24390 END SUBROUTINE block_15_4
24406 SUBROUTINE block_15_5(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
24407 INTEGER :: mc_max, md_max
24408 REAL(kind=
dp) :: kbd(5*md_max), kbc(5*mc_max), kad(15*md_max), kac(15*mc_max), &
24409 pbd(5*md_max),
pbc(5*mc_max), pad(15*md_max), pac(15*mc_max), prim(15*5*mc_max*md_max), &
24412 INTEGER :: ma, mb, mc, md, p_index
24413 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
24415 kbd(1:5*md_max) = 0.0_dp
24416 kbc(1:5*mc_max) = 0.0_dp
24417 kad(1:15*md_max) = 0.0_dp
24418 kac(1:15*mc_max) = 0.0_dp
24425 p_bd = pbd((md - 1)*5 + mb)
24426 p_bc =
pbc((mc - 1)*5 + mb)
24428 p_index = p_index + 1
24429 tmp = scale*prim(p_index)
24430 ks_bc = ks_bc + tmp*pad((md - 1)*15 + ma)
24431 ks_bd = ks_bd + tmp*pac((mc - 1)*15 + ma)
24432 kad((md - 1)*15 + ma) = kad((md - 1)*15 + ma) - tmp*p_bc
24433 kac((mc - 1)*15 + ma) = kac((mc - 1)*15 + ma) - tmp*p_bd
24435 kbd((md - 1)*5 + mb) = kbd((md - 1)*5 + mb) - ks_bd
24436 kbc((mc - 1)*5 + mb) = kbc((mc - 1)*5 + mb) - ks_bc
24440 END SUBROUTINE block_15_5
24456 SUBROUTINE block_15_6(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
24457 INTEGER :: mc_max, md_max
24458 REAL(kind=
dp) :: kbd(6*md_max), kbc(6*mc_max), kad(15*md_max), kac(15*mc_max), &
24459 pbd(6*md_max),
pbc(6*mc_max), pad(15*md_max), pac(15*mc_max), prim(15*6*mc_max*md_max), &
24462 INTEGER :: ma, mb, mc, md, p_index
24463 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
24465 kbd(1:6*md_max) = 0.0_dp
24466 kbc(1:6*mc_max) = 0.0_dp
24467 kad(1:15*md_max) = 0.0_dp
24468 kac(1:15*mc_max) = 0.0_dp
24475 p_bd = pbd((md - 1)*6 + mb)
24476 p_bc =
pbc((mc - 1)*6 + mb)
24478 p_index = p_index + 1
24479 tmp = scale*prim(p_index)
24480 ks_bc = ks_bc + tmp*pad((md - 1)*15 + ma)
24481 ks_bd = ks_bd + tmp*pac((mc - 1)*15 + ma)
24482 kad((md - 1)*15 + ma) = kad((md - 1)*15 + ma) - tmp*p_bc
24483 kac((mc - 1)*15 + ma) = kac((mc - 1)*15 + ma) - tmp*p_bd
24485 kbd((md - 1)*6 + mb) = kbd((md - 1)*6 + mb) - ks_bd
24486 kbc((mc - 1)*6 + mb) = kbc((mc - 1)*6 + mb) - ks_bc
24490 END SUBROUTINE block_15_6
24506 SUBROUTINE block_15_7(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
24507 INTEGER :: mc_max, md_max
24508 REAL(kind=
dp) :: kbd(7*md_max), kbc(7*mc_max), kad(15*md_max), kac(15*mc_max), &
24509 pbd(7*md_max),
pbc(7*mc_max), pad(15*md_max), pac(15*mc_max), prim(15*7*mc_max*md_max), &
24512 INTEGER :: ma, mb, mc, md, p_index
24513 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
24515 kbd(1:7*md_max) = 0.0_dp
24516 kbc(1:7*mc_max) = 0.0_dp
24517 kad(1:15*md_max) = 0.0_dp
24518 kac(1:15*mc_max) = 0.0_dp
24525 p_bd = pbd((md - 1)*7 + mb)
24526 p_bc =
pbc((mc - 1)*7 + mb)
24528 p_index = p_index + 1
24529 tmp = scale*prim(p_index)
24530 ks_bc = ks_bc + tmp*pad((md - 1)*15 + ma)
24531 ks_bd = ks_bd + tmp*pac((mc - 1)*15 + ma)
24532 kad((md - 1)*15 + ma) = kad((md - 1)*15 + ma) - tmp*p_bc
24533 kac((mc - 1)*15 + ma) = kac((mc - 1)*15 + ma) - tmp*p_bd
24535 kbd((md - 1)*7 + mb) = kbd((md - 1)*7 + mb) - ks_bd
24536 kbc((mc - 1)*7 + mb) = kbc((mc - 1)*7 + mb) - ks_bc
24540 END SUBROUTINE block_15_7
24556 SUBROUTINE block_15_9(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
24557 INTEGER :: mc_max, md_max
24558 REAL(kind=
dp) :: kbd(9*md_max), kbc(9*mc_max), kad(15*md_max), kac(15*mc_max), &
24559 pbd(9*md_max),
pbc(9*mc_max), pad(15*md_max), pac(15*mc_max), prim(15*9*mc_max*md_max), &
24562 INTEGER :: ma, mb, mc, md, p_index
24563 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
24565 kbd(1:9*md_max) = 0.0_dp
24566 kbc(1:9*mc_max) = 0.0_dp
24567 kad(1:15*md_max) = 0.0_dp
24568 kac(1:15*mc_max) = 0.0_dp
24575 p_bd = pbd((md - 1)*9 + mb)
24576 p_bc =
pbc((mc - 1)*9 + mb)
24578 p_index = p_index + 1
24579 tmp = scale*prim(p_index)
24580 ks_bc = ks_bc + tmp*pad((md - 1)*15 + ma)
24581 ks_bd = ks_bd + tmp*pac((mc - 1)*15 + ma)
24582 kad((md - 1)*15 + ma) = kad((md - 1)*15 + ma) - tmp*p_bc
24583 kac((mc - 1)*15 + ma) = kac((mc - 1)*15 + ma) - tmp*p_bd
24585 kbd((md - 1)*9 + mb) = kbd((md - 1)*9 + mb) - ks_bd
24586 kbc((mc - 1)*9 + mb) = kbc((mc - 1)*9 + mb) - ks_bc
24590 END SUBROUTINE block_15_9
24606 SUBROUTINE block_15_10(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
24607 INTEGER :: mc_max, md_max
24608 REAL(kind=
dp) :: kbd(10*md_max), kbc(10*mc_max), kad(15*md_max), kac(15*mc_max), &
24609 pbd(10*md_max),
pbc(10*mc_max), pad(15*md_max), pac(15*mc_max), &
24610 prim(15*10*mc_max*md_max), scale
24612 INTEGER :: ma, mb, mc, md, p_index
24613 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
24615 kbd(1:10*md_max) = 0.0_dp
24616 kbc(1:10*mc_max) = 0.0_dp
24617 kad(1:15*md_max) = 0.0_dp
24618 kac(1:15*mc_max) = 0.0_dp
24625 p_bd = pbd((md - 1)*10 + mb)
24626 p_bc =
pbc((mc - 1)*10 + mb)
24628 p_index = p_index + 1
24629 tmp = scale*prim(p_index)
24630 ks_bc = ks_bc + tmp*pad((md - 1)*15 + ma)
24631 ks_bd = ks_bd + tmp*pac((mc - 1)*15 + ma)
24632 kad((md - 1)*15 + ma) = kad((md - 1)*15 + ma) - tmp*p_bc
24633 kac((mc - 1)*15 + ma) = kac((mc - 1)*15 + ma) - tmp*p_bd
24635 kbd((md - 1)*10 + mb) = kbd((md - 1)*10 + mb) - ks_bd
24636 kbc((mc - 1)*10 + mb) = kbc((mc - 1)*10 + mb) - ks_bc
24640 END SUBROUTINE block_15_10
24656 SUBROUTINE block_15_11(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
24657 INTEGER :: mc_max, md_max
24658 REAL(kind=
dp) :: kbd(11*md_max), kbc(11*mc_max), kad(15*md_max), kac(15*mc_max), &
24659 pbd(11*md_max),
pbc(11*mc_max), pad(15*md_max), pac(15*mc_max), &
24660 prim(15*11*mc_max*md_max), scale
24662 INTEGER :: ma, mb, mc, md, p_index
24663 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
24665 kbd(1:11*md_max) = 0.0_dp
24666 kbc(1:11*mc_max) = 0.0_dp
24667 kad(1:15*md_max) = 0.0_dp
24668 kac(1:15*mc_max) = 0.0_dp
24675 p_bd = pbd((md - 1)*11 + mb)
24676 p_bc =
pbc((mc - 1)*11 + mb)
24678 p_index = p_index + 1
24679 tmp = scale*prim(p_index)
24680 ks_bc = ks_bc + tmp*pad((md - 1)*15 + ma)
24681 ks_bd = ks_bd + tmp*pac((mc - 1)*15 + ma)
24682 kad((md - 1)*15 + ma) = kad((md - 1)*15 + ma) - tmp*p_bc
24683 kac((mc - 1)*15 + ma) = kac((mc - 1)*15 + ma) - tmp*p_bd
24685 kbd((md - 1)*11 + mb) = kbd((md - 1)*11 + mb) - ks_bd
24686 kbc((mc - 1)*11 + mb) = kbc((mc - 1)*11 + mb) - ks_bc
24690 END SUBROUTINE block_15_11
24706 SUBROUTINE block_15_15(mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
24707 INTEGER :: mc_max, md_max
24708 REAL(kind=
dp) :: kbd(15*md_max), kbc(15*mc_max), kad(15*md_max), kac(15*mc_max), &
24709 pbd(15*md_max),
pbc(15*mc_max), pad(15*md_max), pac(15*mc_max), &
24710 prim(15*15*mc_max*md_max), scale
24712 INTEGER :: ma, mb, mc, md, p_index
24713 REAL(kind=
dp) :: ks_bc, ks_bd, p_bc, p_bd, tmp
24715 kbd(1:15*md_max) = 0.0_dp
24716 kbc(1:15*mc_max) = 0.0_dp
24717 kad(1:15*md_max) = 0.0_dp
24718 kac(1:15*mc_max) = 0.0_dp
24725 p_bd = pbd((md - 1)*15 + mb)
24726 p_bc =
pbc((mc - 1)*15 + mb)
24728 p_index = p_index + 1
24729 tmp = scale*prim(p_index)
24730 ks_bc = ks_bc + tmp*pad((md - 1)*15 + ma)
24731 ks_bd = ks_bd + tmp*pac((mc - 1)*15 + ma)
24732 kad((md - 1)*15 + ma) = kad((md - 1)*15 + ma) - tmp*p_bc
24733 kac((mc - 1)*15 + ma) = kac((mc - 1)*15 + ma) - tmp*p_bd
24735 kbd((md - 1)*15 + mb) = kbd((md - 1)*15 + mb) - ks_bd
24736 kbc((mc - 1)*15 + mb) = kbc((mc - 1)*15 + mb) - ks_bc
24740 END SUBROUTINE block_15_15
subroutine pbc(r, r_pbc, s, s_pbc, a, b, c, alpha, beta, gamma, debug, info, pbc0, h, hinv)
...
routines to contract density matrix blocks with the for center integrals to yield the Kohn-Sham matri...
subroutine, public contract_block(ma_max, mb_max, mc_max, md_max, kbd, kbc, kad, kac, pbd, pbc, pad, pac, prim, scale)
...
Defines the basic variable types.
integer, parameter, public dp