Line data Source code
1 : module m_set_coul_participation 2 : use m_types 3 : contains 4 12 : subroutine set_coul_participation(hybdat, fi, fmpi, work_pack) 5 : use m_work_package 6 : implicit none 7 : class(t_hybdat), intent(inout) :: hybdat 8 : type(t_fleurinput), intent(in) :: fi 9 : TYPE(t_mpi), INTENT(IN) :: fmpi 10 : type(t_work_package), intent(in) :: work_pack(:) 11 : 12 : integer :: jsp, ik, jq, iq, iq_p 13 : 14 48 : do ik = 1,fi%kpts%nkpt 15 48 : hybdat%coul(ik)%l_participate = .false. 16 : enddo 17 : 18 28 : do jsp = 1,size(work_pack) 19 52 : do ik = 1,work_pack(jsp)%k_packs(1)%size 20 128 : do jq = 1, size(work_pack(jsp)%k_packs(ik)%q_packs) 21 88 : iq = work_pack(jsp)%k_packs(ik)%q_packs(jq)%ptr 22 88 : iq_p = fi%kpts%bkp(iq) 23 : 24 112 : hybdat%coul(iq_p)%l_participate = .True. 25 : enddo 26 : enddo 27 : enddo 28 : 29 48 : do ik = 1,fi%kpts%nkpt 30 84 : if(fmpi%n_rank == 0 .and. any(fmpi%k_list == ik)) then 31 18 : hybdat%coul(ik)%l_participate = .true. 32 : endif 33 : enddo 34 12 : end subroutine set_coul_participation 35 : end module m_set_coul_participation