subroutine PrimVariable use basicmod use eosmod implicit none integer::i,j,k,n !$acc kernels !$acc loop collapse(3) independent private(n) do k=ks,ke do j=js,je do i=is,ie v1(i,j,k) = mv1(i,j,k)/d(i,j,k) v2(i,j,k) = mv2(i,j,k)/d(i,j,k) v3(i,j,k) = mv3(i,j,k)/d(i,j,k) ei(i,j,k) = et(i,j,k) & & -0.5d0*d(i,j,k)*( & & +v1(i,j,k)**2 & & +v2(i,j,k)**2 & & +v3(i,j,k)**2) & & -0.5d0*( & & +b1(i,j,k)**2 & & +b2(i,j,k)**2 & & +b3(i,j,k)**2) ! adiabatic p(i,j,k) = ei(i,j,k)*(gam-1.0d0) cs(i,j,k) = sqrt(gam*p(i,j,k)/d(i,j,k)) ! isotermal ! p(i,j,k) = d(i,j,k)*csiso**2 ! cs(i,j,k) = csiso do n=1,ncomp DXcomp(n,i,j,k) = max(0.0d0,DXcomp(n,i,j,k)) enddo Xcomp(1:ncomp,i,j,k) = DXcomp(1:ncomp,i,j,k)/d(i,j,k) enddo enddo enddo !$acc end kernels return end subroutine PrimVariable