Lines Matching refs:level

137       subroutine ramg_calcAv_g(level,u,v,colm,rowp,lhsK,lhsP,  argument
152 integer,intent(in) :: level local
153 real(kind=8),intent(inout),dimension(amg_nshg(level)) :: v
154 real(kind=8),intent(inout),dimension(amg_nshg(level)) :: u
162 IF (level.eq.1) THEN
167 call ramg_commOut(v,level,ilwork,1,iper,iBC,BC)
170 do i=1,amg_nshg(level)
171 mi = amg_paramap(level)%p(i)
172 do k=amg_A_colm(level)%p(i),amg_A_colm(level)%p(i+1)-1
173 j = amg_A_rowp(level)%p(k)
174 mj = amg_paramap(level)%p(j)
176 u(i) = u(i)+amg_A_lhs(level)%p(k,1)*v(j)
181 call ramg_commIn(u,level,ilwork,1,iper,iBC,BC)
185 if (level.eq.1) then
199 subroutine ramg_calcAv_b(level,u,v,
210 integer,intent(in) :: level variable
211 real(kind=8),intent(inout),dimension(amg_nshg(level)) :: v
212 real(kind=8),intent(inout),dimension(amg_nshg(level)) :: u
223 call ramg_commOut(v,level,ilwork,1,iper,iBC,BC)
226 do i=1,amg_nshg(level)
227 mi = amg_paramap(level)%p(i)
228 mk = amg_paraext(level)%p(i)
230 do k=amg_A_colm(level)%p(i)+diag,amg_A_colm(level)%p(i+1)-1
231 j = amg_A_rowp(level)%p(k)
232 mj = amg_paramap(level)%p(j)
234 u(i) = u(i)+amg_A_lhs(level)%p(k,1)*v(j)
242 call ramg_commIn(u,level,ilwork,1,iper,iBC,BC)
483 subroutine ramg_dot_p(level,v,u,redun,norm) argument
489 integer :: redun,level local
490 real(kind=8),intent(in),dimension(amg_nshg(level),redun) ::v,u
495 do i=1,amg_nshg(level)
525 subroutine ramg_L2_norm_p(level,v,vflow,norm) argument
531 integer,intent(in) :: vflow,level local
532 real(kind=8),intent(in),dimension(amg_nshg(level),vflow) :: v
537 do i=1,amg_nshg(level)
556 & level,lnshg,lnnz_tot,n_sol) argument
560 integer,intent(in) :: level,lnshg,lnnz_tot local
565 amg_nnz(level) = lnnz_tot
566 allocate(amg_A_lhs(level)%p(amg_nnz(level),n_sol),
569 allocate(amg_A_rowp(level)%p(amg_nnz(level)),
574 amg_nshg(level) = lnshg
575 allocate(amg_A_colm(level)%p(amg_nshg(level)+1),
578 allocate(amg_A_rhs(level)%p(amg_nshg(level)),
581 allocate(amg_ppeDiag(level)%p(amg_nshg(level)),
586 write(6,7001)level
591 amg_A_lhs(level)%p(:,:) = 0
592 amg_A_rowp(level)%p(:) = 0
595 amg_A_colm(level)%p(:) = 0
596 amg_A_rhs(level)%p(:) = 0
602 subroutine ramg_deallocate(level) argument
607 integer,intent(inout) :: level local
611 if (level.eq.1) then
629 level = abs(level)
632 if (associated(amg_A_lhs(level)%p)) then
633 deallocate(amg_A_lhs(level)%p,
637 if (associated(amg_A_rowp(level)%p)) then
638 deallocate(amg_A_rowp(level)%p,
642 if (associated(amg_A_colm(level)%p)) then
643 deallocate(amg_A_colm(level)%p,
647 if (associated(amg_ppeDiag(level)%p)) then
648 deallocate(amg_ppeDiag(level)%p,
652 if (associated(amg_A_rhs(level)%p)) then
653 deallocate(amg_A_rhs(level)%p,
657 if (associated(amg_ilwork(level)%p)) then
658 deallocate(amg_ilwork(level)%p,
661 write(*,*)'mcheck deallocate ilwork,',level,myrank
664 if (associated(amg_paramap(level)%p)) then
665 deallocate(amg_paramap(level)%p,
669 if (associated(amg_paraext(level)%p)) then
670 deallocate(amg_paraext(level)%p,
676 write(6,7002)level
679 if (associated(I_fc_colm(level)%p)) then
680 deallocate(CF_map(level)%p,stat=mem_err)
682 deallocate(CF_revmap(level)%p,stat=mem_err)
684 deallocate(I_cf_colm(level)%p,stat=mem_err)
686 deallocate(I_cf_rowp(level)%p,stat=mem_err)
688 deallocate(I_cf(level)%p,stat=mem_err)
690 deallocate(I_fc_colm(level)%p,stat=mem_err)
692 deallocate(I_fc_rowp(level)%p,stat=mem_err)
694 deallocate(I_fc(level)%p,stat=mem_err)
697 amg_nnz(level) = 0
698 amg_nshg(level) = 0