Skip to content

Commit a89ee90

Browse files
committed
acdi_channel_compile_ok
1 parent 0d4fd29 commit a89ee90

File tree

2 files changed

+47
-3
lines changed

2 files changed

+47
-3
lines changed

channel/main.f90

Lines changed: 46 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -539,6 +539,17 @@ program main
539539
enddo
540540
enddo
541541
!$acc end parallel loop
542+
! apply BC on phi_tmp (no-flux)
543+
!$acc parallel loop collapse(3)
544+
do k=1, piX%shape(3)
545+
do j=1, piX%shape(2)
546+
do i=1,nx
547+
kg = piX%lo(3) + k - 1 - halo_ext
548+
if (kg .eq. 1) phi_tmp(i,j,k-1) = phi_tmp(i,j,k)
549+
if (kg .eq. nz) phi_tmp(i,j,k+1) = phi_tmp(i,j,k)
550+
enddo
551+
enddo
552+
enddo
542553
! 4.3 Call halo exchanges along Y and Z for phi
543554
!$acc host_data use_device(phi_tmp)
544555
CHECK_CUDECOMP_EXIT(cudecompUpdateHalosX(handle, grid_desc, phi_tmp, work_halo_d, CUDECOMP_DOUBLE, piX%halo_extents, halo_periods, 2))
@@ -657,16 +668,28 @@ program main
657668
do k=1, piX%shape(3)
658669
do j=1, piX%shape(2)
659670
do i=1,nx
660-
phi_tmp(i,j,k) = phi(i,j,k) + 0.5d0 * dt * rhsphik2(i,j,k)
671+
phi_tmp(i,j,k) = phi(i,j,k) + 0.5d0*dt*rhsphik2(i,j,k)
661672
enddo
662673
enddo
663674
enddo
664675
!$acc end parallel loop
676+
! apply BC on phi_tmp (no-flux)
677+
!$acc parallel loop collapse(3)
678+
do k=1, piX%shape(3)
679+
do j=1, piX%shape(2)
680+
do i=1,nx
681+
kg = piX%lo(3) + k - 1 - halo_ext
682+
if (kg .eq. 1) phi_tmp(i,j,k-1) = phi_tmp(i,j,k)
683+
if (kg .eq. nz) phi_tmp(i,j,k+1) = phi_tmp(i,j,k)
684+
enddo
685+
enddo
686+
enddo
665687
! 4.3 Call halo exchanges along Y and Z for phi
666688
!$acc host_data use_device(phi_tmp)
667689
CHECK_CUDECOMP_EXIT(cudecompUpdateHalosX(handle, grid_desc, phi_tmp, work_halo_d, CUDECOMP_DOUBLE, piX%halo_extents, halo_periods, 2))
668690
CHECK_CUDECOMP_EXIT(cudecompUpdateHalosX(handle, grid_desc, phi_tmp, work_halo_d, CUDECOMP_DOUBLE, piX%halo_extents, halo_periods, 3))
669691
!$acc end host_data
692+
670693
!$acc kernels
671694
do k=1, piX%shape(3)
672695
do j=1, piX%shape(2)
@@ -784,6 +807,17 @@ program main
784807
enddo
785808
enddo
786809
!$acc end parallel loop
810+
! apply BC on phi_tmp (no-flux)
811+
!$acc parallel loop collapse(3)
812+
do k=1, piX%shape(3)
813+
do j=1, piX%shape(2)
814+
do i=1,nx
815+
kg = piX%lo(3) + k - 1 - halo_ext
816+
if (kg .eq. 1) phi_tmp(i,j,k-1) = phi_tmp(i,j,k)
817+
if (kg .eq. nz) phi_tmp(i,j,k+1) = phi_tmp(i,j,k)
818+
enddo
819+
enddo
820+
enddo
787821
! 4.3 Call halo exchanges along Y and Z for phi
788822
!$acc host_data use_device(phi_tmp)
789823
CHECK_CUDECOMP_EXIT(cudecompUpdateHalosX(handle, grid_desc, phi_tmp, work_halo_d, CUDECOMP_DOUBLE, piX%halo_extents, halo_periods, 2))
@@ -910,7 +944,17 @@ program main
910944
enddo
911945
enddo
912946
!$acc end kernels
913-
947+
! apply BC on phi_tmp (no-flux)
948+
!$acc parallel loop collapse(3)
949+
do k=1, piX%shape(3)
950+
do j=1, piX%shape(2)
951+
do i=1,nx
952+
kg = piX%lo(3) + k - 1 - halo_ext
953+
if (kg .eq. 1) phi(i,j,k-1) = phi(i,j,k)
954+
if (kg .eq. nz) phi(i,j,k+1) = phi(i,j,k)
955+
enddo
956+
enddo
957+
enddo
914958
! 4.3 Call halo exchanges along Y and Z for phi
915959
!$acc host_data use_device(phi)
916960
CHECK_CUDECOMP_EXIT(cudecompUpdateHalosX(handle, grid_desc, phi, work_halo_d, CUDECOMP_DOUBLE, piX%halo_extents, halo_periods, 2))

channel/module.f90

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ module param
99
double precision, allocatable :: x(:), y(:), z(:), dzi(:), dzci(:), kx(:), ky(:)
1010
double precision, device, allocatable :: kx_d(:), ky_d(:)
1111
integer :: restart,tstart,tfin,dump
12-
double precision :: gamma, normod, factor, csi
12+
double precision :: gamma, normod, factor, csi, normal
1313
double precision :: dt,mu,rho !flow parameters
1414
integer :: inflow, inphi, intheta
1515
double precision :: radius, sigma, epsr, eps, pos, val, epsi, enum ! phase-field parameters

0 commit comments

Comments
 (0)