Skip to content

Commit

Permalink
Merge ctoprim into one loop
Browse files Browse the repository at this point in the history
  • Loading branch information
maxpkatz committed Oct 31, 2019
1 parent 4be3346 commit db90536
Showing 1 changed file with 5 additions and 19 deletions.
24 changes: 5 additions & 19 deletions Source/Castro_hydro_nd.F90
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ CASTRO_FORT_DEVICE subroutine ca_ctoprim(lo, hi, &

type (eos_t) :: eos_state

!$acc parallel loop gang vector collapse(3) deviceptr(uin, q) private(vel) async(acc_stream)
!$acc parallel loop gang vector collapse(3) deviceptr(uin, q, qaux) private(vel, eos_state) async(acc_stream)
do k = lo(3), hi(3)
do j = lo(2), hi(2)
do i = lo(1), hi(1)
Expand Down Expand Up @@ -132,31 +132,16 @@ CASTRO_FORT_DEVICE subroutine ca_ctoprim(lo, hi, &
! then subtract off the rotation component here.

q(i,j,k,QTEMP) = uin(i,j,k,UTEMP)
enddo
enddo
enddo

! Load passively advected quatities into q
! Load passively advected quantities into q

!$acc parallel loop gang vector collapse(4) deviceptr(uin, q) async(acc_stream)
do ispec = 1, nspec
do k = lo(3), hi(3)
do j = lo(2), hi(2)
do i = lo(1), hi(1)
do ispec = 1, nspec
n = UFS + ispec - 1
iq = QFS + ispec - 1
q(i,j,k,iq) = uin(i,j,k,n)/q(i,j,k,QRHO)
enddo
enddo
enddo
enddo

! get gamc, p, T, c, csml using q state

!$acc parallel loop gang vector collapse(3) deviceptr(q, qaux) private(eos_state) async(acc_stream)
do k = lo(3), hi(3)
do j = lo(2), hi(2)
do i = lo(1), hi(1)
! get gamc, p, T, c, csml using q state

eos_state % T = q(i,j,k,QTEMP )
eos_state % rho = q(i,j,k,QRHO )
Expand All @@ -175,6 +160,7 @@ CASTRO_FORT_DEVICE subroutine ca_ctoprim(lo, hi, &

qaux(i,j,k,QGAMC) = eos_state % gam1
qaux(i,j,k,QC ) = eos_state % cs

enddo
enddo
enddo
Expand Down

0 comments on commit db90536

Please sign in to comment.