| 1 | !! Modified from FLASH application:
|
|---|
| 2 | !! SrcInfo: ./source/physics/sourceTerms/Heat/HeatMain/Neutrino/Heat.F90
|
|---|
| 3 |
|
|---|
| 4 | subroutine Heat(blockCount, blockList, dt, time)
|
|---|
| 5 | !! real,dimension(:,:,:,:,MAXBLK) :: data
|
|---|
| 6 |
|
|---|
| 7 | use civl_data, ONLY : data
|
|---|
| 8 |
|
|---|
| 9 | implicit none
|
|---|
| 10 |
|
|---|
| 11 | integer,intent(IN) :: blockCount
|
|---|
| 12 | integer,dimension(blockCount),intent(IN)::blockList
|
|---|
| 13 | real,intent(IN) :: dt,time
|
|---|
| 14 |
|
|---|
| 15 | real,dimension(:,:,:,:) :: sdata
|
|---|
| 16 | integer :: blockID
|
|---|
| 17 | integer :: i,j,k,n
|
|---|
| 18 |
|
|---|
| 19 |
|
|---|
| 20 | !$omp parallel &
|
|---|
| 21 | !$omp private(n,blockID,k,j,i,sdata) &
|
|---|
| 22 | !$omp shared(blockCount,blockList,dt,time,data)
|
|---|
| 23 |
|
|---|
| 24 |
|
|---|
| 25 | !$omp do
|
|---|
| 26 | do n = 1, blockCount
|
|---|
| 27 | blockID = blockList(n)
|
|---|
| 28 | sdata = data(:,:,:,:,blockID)
|
|---|
| 29 |
|
|---|
| 30 | do k = 1, 1
|
|---|
| 31 | do j = 1, 1
|
|---|
| 32 | do i = 1, NGUARD + NXIDX/NPROC
|
|---|
| 33 |
|
|---|
| 34 | data(2,i,j,k,blockID) = data(2,i,j,k,blockID) + dt
|
|---|
| 35 |
|
|---|
| 36 | data(1,i,j,k,blockID) = data(2,i,j,k,blockID) - dt
|
|---|
| 37 |
|
|---|
| 38 | enddo
|
|---|
| 39 | enddo
|
|---|
| 40 | enddo
|
|---|
| 41 |
|
|---|
| 42 | enddo
|
|---|
| 43 | !$omp enddo
|
|---|
| 44 | !$omp end parallel
|
|---|
| 45 |
|
|---|
| 46 | return
|
|---|
| 47 | end subroutine Heat |
|---|