Lines Matching refs:level1

10       subroutine ramg_coarse_setup(level1,level2,eps_str,  argument
21 integer,intent(in) :: level1,level2 local
30 integer,dimension(amg_nnz(level1)) :: amg_S,amg_Ip
31 integer,dimension(amg_nshg(level1)) :: amg_F,aLoc
32 real(kind=8),dimension(amg_nshg(level1)) :: amg_la
33 integer,dimension(amg_nshg(level1)) :: amg_Fn,amg_Fp
104 call ramg_CFsplit(amg_F,amg_S,amg_nshg(level1),amg_nnz(level1),
105 & amg_A_colm(level1)%p,amg_A_rowp(level1)%p,
106 & amg_A_lhs(level1)%p,amg_paramap(level1)%p,
110 if (level1.eq.1) then
118 call ramg_update_cfmap(amg_F,level1)
122 call ramg_readin_cfmap(amg_F,level1)
127 do i = 1,amg_nshg(level1)
128 p = iabs(amg_paramap(level1)%p(i))
146 allocate(CF_map(level1)%p(amg_nshg(level1)))
147 allocate(CF_revmap(level1)%p(amg_nshg(level1)))
150 do i=1,amg_nshg(level1)
152 CF_map(level1)%p(k) = i
153 CF_revmap(level1)%p(i) = k
157 do i=1,amg_nshg(level1)
159 CF_map(level1)%p(k) = i
160 CF_revmap(level1)%p(i) = k
165 if (level1.eq.-1) then
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)
190 do i=1,amg_nshg(level1)
192 amg_paramap(level2)%p(j) = amg_paramap(level1)%p(i)
193 amg_paraext(level2)%p(j) = amg_paraext(level1)%p(i)
200 allocate(amg_I_colm%p(amg_nshg(level1)),stat=mem_err)
202 allocate(amg_I_rowp%pp(amg_nshg(level1)),stat=mem_err)
204 allocate(amg_I%pp(amg_nshg(level1)),stat=mem_err)
215 loop_i: do i = 1, amg_nshg(level1)
217 cfilter = amg_paramap(level1)%p(i)
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
236 j = amg_A_rowp(level1)%p(k)
237 if (cfilter.eq.amg_paramap(level1)%p(j)) then
245 amg_la(n) = amg_A_lhs(level1)%p(k,1)
252 do k=amg_A_colm(level1)%p(i)+1,amg_A_colm(level1)%p(i+1)-1
253 j = amg_A_rowp(level1)%p(k)
255 rtp = amg_A_lhs(level1)%p(amg_A_colm(level1)%p(j),1)
259 do kj=amg_A_colm(level1)%p(j),amg_A_colm(level1)%p(j+1)-1
260 jj = amg_A_rowp(level1)%p(kj)
270 amg_la(m) = amg_la(m) - rtp*amg_A_lhs(level1)%p(kj,1)
371 allocate(I_cf_colm(level1)%p(amg_nshg(level1)+1),stat=mem_err)
373 allocate(I_cf_rowp(level1)%p(mnnz),stat=mem_err)
375 allocate(I_cf(level1)%p(mnnz),stat=mem_err)
381 do i=1,amg_nshg(level1)
382 I_cf_colm(level1)%p(i)=mnnz+1
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)
389 I_cf_colm(level1)%p(amg_nshg(level1)+1) = mnnz+1
400 do i = 1,amg_nshg(level1)
422 allocate(I_fc_colm(level1)%p(amg_nshg(level2)+1),stat=mem_err)
424 allocate(I_fc_rowp(level1)%p(mnnz),stat=mem_err)
426 allocate(I_fc(level1)%p(mnnz),stat=mem_err)
432 I_fc_colm(level1)%p(1:amg_nshg(level2)+1) = 0
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
439 j = I_fc_colm(level1)%p(i)
440 I_fc_colm(level1)%p(i) = mnnz
443 I_fc_colm(level1)%p(amg_nshg(level2)+1) = 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
447 j = I_cf_rowp(level1)%p(k)
448 kj = I_fc_colm(level1)%p(j)
449 I_fc_colm(level1)%p(j) = I_fc_colm(level1)%p(j) + 1
450 I_fc_rowp(level1)%p(kj) = i
451 I_fc(level1)%p(kj) = I_cf(level1)%p(k)
456 I_fc_colm(level1)%p(i) = I_fc_colm(level1)%p(i-1)
458 I_fc_colm(level1)%p(1) = 1