Skip to content

Commit 11d3a3d

Browse files
committed
fix
1 parent a4f9e36 commit 11d3a3d

File tree

3 files changed

+15
-21
lines changed

3 files changed

+15
-21
lines changed

README.md

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -60,14 +60,13 @@ If you use this code, please cite the following work:
6060

6161
Performance (NS only)
6262
* 256 x 256 x 256 | 4 x A100@Leonardo | 16 ms/timestep
63-
* 512 x 512 x 512 | 4 x A100@Leonardo | 270 ms/timestep
64-
* 1024 x 1024 x 1024 | 512 x A100@Leonardo | 35 ms/timestep
65-
* 2048 x 2048 x 2048 | 256 x A100@Leonardo | 740 ms/timestep
66-
* 128 x 128 x 128 | 4 x H100@MN5-ACC | 7 ms/timestep
67-
* 256 x 256 x 256 | 4 x H100@MN5-ACC | 40 ms/timestep
68-
* 512 x 512 x 512 | 4 x H100@MN5-ACC | 450 ms/timestep
69-
* 512 x 512 x 512 | 8 x H100@MN5-ACC | 172 ms/timestep
70-
* 1024 x 1024 x 1024 | 512 x H100@MN5-ACC | 32 ms/timestep
63+
* 512 x 512 x 512 | 4 x A100@Leonardo | 270 ms/timestep
64+
* 1024 x 1024 x 1024 | 32 x A100@Leonardo | 357 ms/timestep
65+
* 2048 x 2048 x 2048 | 128 x A100@Leonardo | 820 ms/timestep
66+
* 256 x 256 x 256 | 4 x H100@MN5-ACC | 13 ms/timestep
67+
* 512 x 512 x 512 | 4 x H100@MN5-ACC | 230 ms/timestep
68+
* 1024 x 1024 x 1024 | 32 x H100@MN5-ACC | 320 ms/timestep
69+
7170
* 2048 x 2048 x 2048 | 512 x H100@MN5-ACC | 259 ms/timestep
7271

7372
Phase-field introduces about 15% of overhead compared to NS only.

multi/main.f90

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ program main
190190
allocate(phi(piX%shape(1),piX%shape(2),piX%shape(3)),rhsphi(piX%shape(1),piX%shape(2),piX%shape(3)),rhsphi_o(piX%shape(1),piX%shape(2),piX%shape(3)))
191191
allocate(psidi(piX%shape(1),piX%shape(2),piX%shape(3)))
192192
allocate(normx(piX%shape(1),piX%shape(2),piX%shape(3)),normy(piX%shape(1),piX%shape(2),piX%shape(3)),normz(piX%shape(1),piX%shape(2),piX%shape(3)))
193-
allocate(chempot(piX%shape(1),piX%shape(2),piX%shape(3)),gradphix(piX%shape(1),piX%shape(2),piX%shape(3)),gradphiy(piX%shape(1),piX%shape(2),piX%shape(3)),gradphiz(piX%shape(1),piX%shape(2),piX%shape(3)))
193+
allocate(chempot(piX%shape(1),piX%shape(2),piX%shape(3)))
194194
allocate(fxst(piX%shape(1),piX%shape(2),piX%shape(3)),fyst(piX%shape(1),piX%shape(2),piX%shape(3)),fzst(piX%shape(1),piX%shape(2),piX%shape(3))) ! surface tension forces
195195
#endif
196196

@@ -453,11 +453,7 @@ program main
453453
km=k-1
454454
if (ip .gt. nx) ip=1
455455
if (im .lt. 1) im=nx
456-
! OLD CDI
457-
!rhsphi(i,j,k)=rhsphi(i,j,k)+gamma*(((phi(ip,j,k)**2d0-phi(ip,j,k))*normx(ip,j,k)-(phi(im,j,k)**2d0-phi(im,j,k))*normx(im,j,k))*0.5d0*dxi + &
458-
! ((phi(i,jp,k)**2d0-phi(i,jp,k))*normy(i,jp,k)-(phi(i,jm,k)**2d0-phi(i,jm,k))*normy(i,jm,k))*0.5d0*dxi + &
459-
! ((phi(i,j,kp)**2d0-phi(i,j,kp))*normz(i,j,kp)-(phi(i,j,km)**2d0-phi(i,j,km))*normz(i,j,km))*0.5d0*dxi)
460-
! NEW ACDI
456+
! ACDI
461457
rhsphi(i,j,k)=rhsphi(i,j,k)-gamma*((0.25d0*(1.d0-(tanh(0.5d0*psidi(ip,j,k)*epsi))**2)*normx(ip,j,k)- 0.25d0*(1.d0-(tanh(0.5d0*psidi(im,j,k)*epsi))**2)*normx(im,j,k))*0.5*dxi +&
462458
(0.25d0*(1.d0-(tanh(0.5d0*psidi(i,jp,k)*epsi))**2)*normy(i,jp,k)- 0.25d0*(1.d0-(tanh(0.5d0*psidi(i,jm,k)*epsi))**2)*normy(i,jm,k))*0.5*dxi +&
463459
(0.25d0*(1.d0-(tanh(0.5d0*psidi(i,j,kp)*epsi))**2)*normz(i,j,kp)- 0.25d0*(1.d0-(tanh(0.5d0*psidi(i,j,km)*epsi))**2)*normz(i,j,km))*0.5*dxi)
@@ -472,6 +468,7 @@ program main
472468
do j=1+halo_ext, piX%shape(2)-halo_ext
473469
do i=1,nx
474470
phi(i,j,k) = phi(i,j,k) + dt*(alpha*rhsphi(i,j,k)-beta*rhsphi_o(i,j,k))
471+
rhsphi_o(i,j,k)=rhsphi(i,j,k)
475472
enddo
476473
enddo
477474
enddo
@@ -610,12 +607,9 @@ program main
610607
if (ip .gt. nx) ip=1
611608
if (im .lt. 1) im=nx
612609
chempot(i,j,k)=phi(i,j,k)*(1.d0-phi(i,j,k))*(1.d0-2.d0*phi(i,j,k))*epsi-eps*(phi(ip,j,k)+phi(im,j,k)+phi(i,jp,k)+phi(i,jm,k)+phi(i,j,kp)+phi(i,j,km)- 6.d0*phi(i,j,k))*ddxi
613-
gradphix(i,j,k)=0.5d0*(phi(ip,j,k)-phi(im,j,k))*dxi
614-
gradphiy(i,j,k)=0.5d0*(phi(i,jp,k)-phi(i,jm,k))*dxi
615-
gradphiz(i,j,k)=0.5d0*(phi(i,j,kp)-phi(i,j,km))*dxi
616-
fxst(i,j,k)=6.d0*sigma*chempot(i,j,k)*gradphix(i,j,k)
617-
fyst(i,j,k)=6.d0*sigma*chempot(i,j,k)*gradphiy(i,j,k)
618-
fzst(i,j,k)=6.d0*sigma*chempot(i,j,k)*gradphiz(i,j,k)
610+
fxst(i,j,k)=6.d0*sigma*chempot(i,j,k)*0.5d0*(phi(ip,j,k)-phi(im,j,k))*dxi
611+
fyst(i,j,k)=6.d0*sigma*chempot(i,j,k)*0.5d0*(phi(i,jp,k)-phi(i,jm,k))*dxi
612+
fzst(i,j,k)=6.d0*sigma*chempot(i,j,k)*0.5d0*(phi(i,jp,k)-phi(i,jm,k))*dxi
619613
enddo
620614
enddo
621615
enddo

multi/readinput.f90

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ subroutine readinput
3434
! compute pre-defined constant
3535
twopi=8.0_8*atan(1.0_8)
3636
lx=twopi
37-
dx = lx/(nx-1)
37+
dx = lx/nx
3838
dxi=1.d0/dx
3939
ddxi=1.d0/dx/dx
4040
rhoi=1.d0/rho
@@ -51,6 +51,7 @@ subroutine readinput
5151
write(*,*) "██ ██ ██ ██ ██ ██ ██ ██ ██ ██"
5252
write(*,*) "██ ██ ██ ██ ██ ██ ██████ ██████"
5353
write(*,*) "----------------------------------------------"
54+
write(*,*) 'Grid:', nx, 'x', nx, 'x', nx
5455
write(*,*) "Restart ", restart
5556
write(*,*) "Tstart ", tstart
5657
write(*,*) "Tfin ", tfin

0 commit comments

Comments
 (0)