2 c---------------------------------------------------------------------
3 c---------------------------------------------------------------------
7 c---------------------------------------------------------------------
8 c---------------------------------------------------------------------
10 c---------------------------------------------------------------------
11 c block-diagonal matrix-vector multiplication
12 c---------------------------------------------------------------------
17 double precision r1, r2, r3, r4, r5, t1, t2
19 c---------------------------------------------------------------------
21 c---------------------------------------------------------------------
22 do k = start(3,c), cell_size(3,c)-end(3,c)-1
23 do j = start(2,c), cell_size(2,c)-end(2,c)-1
24 do i = start(1,c), cell_size(1,c)-end(1,c)-1
33 t2 = 0.5d0 * ( r4 + r5 )
35 rhs(i,j,k,1,c) = bt * ( r4 - r5 )
38 rhs(i,j,k,4,c) = -t1 + t2
39 rhs(i,j,k,5,c) = t1 + t2