Line data Source code
1 : module m_spmm 2 : contains 3 88 : function calc_ibasm(fi, mpdata) result(ibasm) 4 : use m_types 5 : implicit none 6 : type(t_fleurinput), intent(in) :: fi 7 : type(t_mpdata), intent(in) :: mpdata 8 : integer :: ibasm, iatom, itype, ieq, l, m 9 : 10 88 : call timestart("calc_ibasm") 11 88 : ibasm = 0 12 88 : iatom = 0 13 220 : DO itype = 1, fi%atoms%ntype 14 352 : DO ieq = 1, fi%atoms%neq(itype) 15 132 : iatom = iatom + 1 16 924 : DO l = 0, fi%hybinp%lcutm1(itype) 17 4092 : DO m = -l, l 18 3960 : ibasm = ibasm + mpdata%num_radbasfn(l, itype) - 1 19 : END DO 20 : END DO 21 : END DO 22 : END DO 23 88 : call timestop("calc_ibasm") 24 88 : end function calc_ibasm 25 : end module m_spmm