Lines Matching refs:i
38 integer :: i,j,k,m,n,p,q local
85 do i=2,numtask
86 subnei(i)=ilwork(itkbeg+3)+1 ! iother+1
87 subcfrev(subnei(i)) = i
99 do i=1,numtask
100 subcfrev(i) = i
127 do i = 1,amg_nshg(level1)
128 p = iabs(amg_paramap(level1)%p(i))
131 if (amg_F(i).eq.1) then
135 do i = 1,numtask
150 do i=1,amg_nshg(level1)
151 if (amg_F(i).eq.1) then ! fine/coarse first
152 CF_map(level1)%p(k) = i
153 CF_revmap(level1)%p(i) = k
157 do i=1,amg_nshg(level1)
158 if (amg_F(i).eq.2) then
159 CF_map(level1)%p(k) = i
160 CF_revmap(level1)%p(i) = k
166 do i=1,amg_nshg(level1)
167 CF_map(level1)%p(i) = i
168 CF_revmap(level1)%p(i) = i
179 do i = 1, amg_nshg(level1)
180 if (amg_F(i).eq.1) then
183 amg_Ip(i) = I_nnz
190 do i=1,amg_nshg(level1)
191 if (amg_F(i).eq.1) then
192 amg_paramap(level2)%p(j) = amg_paramap(level1)%p(i)
193 amg_paraext(level2)%p(j) = amg_paraext(level1)%p(i)
215 loop_i: do i = 1, amg_nshg(level1)
217 cfilter = amg_paramap(level1)%p(i)
218 if (amg_F(i).eq.1) then ! i as a coarse node do trivial work
219 allocate(amg_I_rowp%pp(i)%p(1))
220 allocate(amg_I%pp(i)%p(1))
221 amg_I_colm%p(i) = 1
222 amg_I_rowp%pp(i)%p(1) = amg_Ip(i)
223 amg_I%pp(i)%p(1) = 1
233 diag = -1.0d0/amg_A_lhs(level1)%p(amg_A_colm(level1)%p(i),1)
235 do k = amg_A_colm(level1)%p(i)+1,amg_A_colm(level1)%p(i+1)-1
252 do k=amg_A_colm(level1)%p(i)+1,amg_A_colm(level1)%p(i+1)-1
353 amg_I_colm%p(i) = I_nnz
354 allocate(amg_I_rowp%pp(i)%p(I_nnz))
355 allocate(amg_I%pp(i)%p(I_nnz))
357 amg_I_rowp%pp(i)%p(k) = amg_Ip(amg_Fn(k))
360 amg_I%pp(i)%p(k) = amg_la(k)
362 amg_I%pp(i)%p(k) = amg_la(k)
381 do i=1,amg_nshg(level1)
382 I_cf_colm(level1)%p(i)=mnnz+1
383 do j=1,amg_I_colm%p(i)
384 I_cf_rowp(level1)%p(mnnz+j)=amg_I_rowp%pp(i)%p(j)
385 I_cf(level1)%p(mnnz+j)=amg_I%pp(i)%p(j)
387 mnnz = mnnz + amg_I_colm%p(i)
400 do i = 1,amg_nshg(level1)
401 if (amg_I_colm%p(i).ne.0) then
402 deallocate(amg_I_rowp%pp(i)%p,stat=mem_err)
404 deallocate(amg_I%pp(i)%p,stat=mem_err)
433 do i=1,mnnz
434 I_fc_colm(level1)%p(I_cf_rowp(level1)%p(i)) =
435 & I_fc_colm(level1)%p(I_cf_rowp(level1)%p(i)) + 1
438 do i=1,amg_nshg(level2)
439 j = I_fc_colm(level1)%p(i)
440 I_fc_colm(level1)%p(i) = mnnz
445 do i=1,amg_nshg(level1)
446 do k=I_cf_colm(level1)%p(i),I_cf_colm(level1)%p(i+1)-1
450 I_fc_rowp(level1)%p(kj) = i
455 do i=amg_nshg(level2),2,-1
456 I_fc_colm(level1)%p(i) = I_fc_colm(level1)%p(i-1)
473 integer :: i,j,k,t local
475 do i=0,nheaps-1
476 heap(i) = i
479 do i=1,nheaps-1
480 k = i
491 do i=0,nheaps-1
492 invmap(heap(i)) = i
504 integer i,j,k local
519 integer i,j,k,t local
521 i = popid
522 j = ishft(i-1,-1);
523 do while ( (i.gt.0).and.(wght(heap(j)).lt.wght(heap(i))))
524 t = heap(i)
525 heap(i) = heap(j)
527 invmap(heap(i)) = i
529 i = j
530 j = ishft(i-1,-1)
533 i = popid
534 do while (i.lt.(nheaps/2))
535 j = 2*i+1
540 if (wght(heap(i)).gt.wght(heap(j))) then
543 t = heap(i)
544 heap(i) = heap(j)
546 invmap(heap(i)) = i
548 i = j
589 integer :: i,j,k,n,m local
610 do i=1,anshg
611 cfilter = afmap(i) ! each row only deal with its own group
612 amg_CF(i) = 0
613 amg_L(i) = 0
614 rowmax(i) = 1E+10
615 prowmax(i) = -1e+10
616 do j=acolm(i)+1,acolm(i+1)-1
618 if ((cfilter.eq.afmap(k)).and.(alhs(j).lt.rowmax(i))) then
619 rowmax(i) = alhs(j)
621 if ((cfilter.eq.afmap(k)).and.(alhs(j).gt.prowmax(i))) then
622 prowmax(i) = alhs(j)
625 rowmax(i) = eps_str*rowmax(i)
626 prowmax(i) = eps_str*prowmax(i)
631 do i=1,anshg
632 cfilter = afmap(i)
635 do j=acolm(i)+1,acolm(i+1)-1
639 if (alhs(j) .lt. rowmax(i)) then
647 if (alhs(j) .gt. prowmax(i)) then
661 do i=1,anshg
662 cfilter = afmap(i)
664 do j=acolm(i),acolm(i+1)-1
676 amg_CF(i) = 2 ! mark fine ! NO, should mark isolated coarse
678 amg_CF(i) = 1 ! last coarse ! everybody coarse
684 do i=1,anshg
685 if (amg_CF(i).eq.2) then
695 do i=1,anshg
696 cfilter = afmap(i)
697 if (amg_CF(i).eq.0) then
699 amg_L(i) = i*MSCALE+iabs(cfilter)
700 do j=acolm(i),acolm(i+1)-1
710 amg_L(i) = amg_L(i) + deltal
720 if (amg_L(i).gt.Lmax) then
721 Lmax = amg_L(i)
722 m = i
771 do i = acolm(k),acolm(k+1)-1
772 n = arowp(i)
773 if (((amg_S(i).eq.1).or.(amg_S(i).eq.3)).and.
776 if (alhs(i).le.0) then ! negative
802 do i=1,anshg
803 if (amg_CF(i).eq.2) then
815 do i = 1,anshg
816 if (amg_CF(i).eq.0) then
817 amg_CF(i) = 1 ! Mark every node coarse if isolated
820 if (amg_CF(i).eq.1) then
827 do i=1,anshg
828 if (amg_CF(i).eq.1) then
830 do j=acolm(i)+1,acolm(i+1)-1
855 integer :: i,j,p local
860 do i=1,amg_nshg(1)
861 if (amg_cfmap(i).eq.slevel) then
862 revmap(j) = i
866 do i=1,j-1
867 if (amg_CF(i).eq.1) then
868 amg_cfmap(revmap(i)) = amg_cfmap(revmap(i)) + 1
878 integer :: i,j,p local
881 do i=1,amg_nshg(1)
882 if (amg_cfmap(i).eq.slevel) then
885 else if (amg_cfmap(i).eq.(slevel+1)) then