do 1st order prolongation
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| double precision, | intent(in) | :: | wCo(ixGlo1:ixGhi1,ixGlo2:ixGhi2,ixGlo3:ixGhi3,nw) | |||
| integer, | intent(in) | :: | ixComin1 | |||
| integer, | intent(in) | :: | ixComin2 | |||
| integer, | intent(in) | :: | ixComin3 | |||
| integer, | intent(in) | :: | ixComax1 | |||
| integer, | intent(in) | :: | ixComax2 | |||
| integer, | intent(in) | :: | ixComax3 | |||
| double precision, | intent(out) | :: | wFi(ixGlo1:ixGhi1,ixGlo2:ixGhi2,ixGlo3:ixGhi3,nw) | |||
| double precision, | intent(in) | :: | xFi(ixGlo1:ixGhi1,ixGlo2:ixGhi2,ixGlo3:ixGhi3,1:ndim) |
subroutine prolong_1st(wCo,ixComin1,ixComin2,ixComin3,ixComax1,ixComax2,& ixComax3,wFi,xFi) use mod_global_parameters integer, intent(in) :: ixComin1,ixComin2,ixComin3,ixComax1,ixComax2,& ixComax3 double precision, intent(in) :: wCo(ixGlo1:ixGhi1,ixGlo2:ixGhi2,& ixGlo3:ixGhi3,nw), xFi(ixGlo1:ixGhi1,ixGlo2:ixGhi2,ixGlo3:ixGhi3,& 1:ndim) double precision, intent(out) :: wFi(ixGlo1:ixGhi1,ixGlo2:ixGhi2,& ixGlo3:ixGhi3,nw) integer :: ixCo1,ixCo2,ixCo3, ixFi1,ixFi2,ixFi3, iw integer :: ixFimin1,ixFimin2,ixFimin3,ixFimax1,ixFimax2,ixFimax3 do ixCo3 = ixComin3,ixComax3 do ixCo2 = ixComin2,ixComax2 do ixCo1 = ixComin1,ixComax1 ixFi3=2*(ixCo3-ixComin3)+ixMlo3 ixFi2=2*(ixCo2-ixComin2)+ixMlo2 ixFi1=2*(ixCo1-ixComin1)+ixMlo1 forall(iw=1:nwgc) wFi(ixFi1:ixFi1+1,ixFi2:ixFi2+1,ixFi3:ixFi3+1,& iw)=wCo(ixCo1,ixCo2,ixCo3,iw) end do end do end do end subroutine prolong_1st