diff --git a/src/korc_ppusher.f90 b/src/korc_ppusher.f90 index 3643d5d4..0429b8a5 100755 --- a/src/korc_ppusher.f90 +++ b/src/korc_ppusher.f90 @@ -91,7 +91,7 @@ pure function cross(a,b) cross(3) = a(1)*b(2) - a(2)*b(1) end function cross -elemental subroutine radiation_force_p(q_cache,m_cache,U_X,U_Y,U_Z,E_X,E_Y,E_Z, & +subroutine radiation_force_p(q_cache,m_cache,U_X,U_Y,U_Z,E_X,E_Y,E_Z, & B_X,B_Y,B_Z,Frad_X,Frad_Y,Frad_Z) !$omp declare simd(radiation_force_p) uniform(m_cache,q_cache) REAL(rp), INTENT(IN) :: m_cache,q_cache @@ -1678,8 +1678,8 @@ subroutine advance_FOeqn_vars(tt,a,q_cache,m_cache,params,X_X,X_Y,X_Z, & if (params%radiation) then !! Calls [[radiation_force_p]] in [[korc_ppusher]]. - call radiation_force_p(q_cache,m_cache,U_os_X(:),U_os_Y(:),U_os_Z(:), & - E_X(:),E_Y(:),E_Z(:),B_X(:),B_Y(:),B_Z(:),Frad_X(:),Frad_Y(:),Frad_Z(:)) + call radiation_force_p(q_cache,m_cache,U_os_X(cc),U_os_Y(cc),U_os_Z(cc), & + E_X(cc),E_Y(cc),E_Z(cc),B_X(cc),B_Y(cc),B_Z(cc),Frad_X(cc),Frad_Y(cc),Frad_Z(cc)) U_RC_X(cc) = U_RC_X(cc) + a*Frad_X(cc)/q_cache U_RC_Y(cc) = U_RC_Y(cc) + a*Frad_Y(cc)/q_cache U_RC_Z(cc) = U_RC_Z(cc) + a*Frad_Z(cc)/q_cache @@ -3290,8 +3290,8 @@ subroutine advance_FOinterp_vars(tt,a,q_cache,m_cache,params,X_X,X_Y,X_Z, & if (params%radiation) then !! Calls [[radiation_force_p]] in [[korc_ppusher]]. - call radiation_force_p(q_cache,m_cache,U_os_X(:),U_os_Y(:),U_os_Z(:), & - E_X(:),E_Y(:),E_Z(:),B_X(:),B_Y(:),B_Z(:),Frad_X(:),Frad_Y(:),Frad_Z(:)) + call radiation_force_p(q_cache,m_cache,U_os_X(cc),U_os_Y(cc),U_os_Z(cc), & + E_X(cc),E_Y(cc),E_Z(cc),B_X(cc),B_Y(cc),B_Z(cc),Frad_X(cc),Frad_Y(cc),Frad_Z(cc)) U_RC_X(cc) = U_RC_X(cc) + a*Frad_X(cc)/q_cache U_RC_Y(cc) = U_RC_Y(cc) + a*Frad_Y(cc)/q_cache U_RC_Z(cc) = U_RC_Z(cc) + a*Frad_Z(cc)/q_cache @@ -3681,8 +3681,8 @@ subroutine advance_FOfio_vars(tt,a,q_cache,m_cache,params,X_X,X_Y,X_Z, & if (params%radiation) then !! Calls [[radiation_force_p]] in [[korc_ppusher]]. - call radiation_force_p(q_cache,m_cache,U_os_X(:),U_os_Y(:),U_os_Z(:), & - E_X(:),E_Y(:),E_Z(:),B_X(:),B_Y(:),B_Z(:),Frad_X(:),Frad_Y(:),Frad_Z(:)) + call radiation_force_p(q_cache,m_cache,U_os_X(cc),U_os_Y(cc),U_os_Z(cc), & + E_X(cc),E_Y(cc),E_Z(cc),B_X(cc),B_Y(cc),B_Z(cc),Frad_X(cc),Frad_Y(cc),Frad_Z(cc)) U_RC_X(cc) = U_RC_X(cc) + a*Frad_X(cc)/q_cache U_RC_Y(cc) = U_RC_Y(cc) + a*Frad_Y(cc)/q_cache