Пример #1
0
def mll(i_l1, i_l2, na_wl, i_lmax):
    w = wigner()
    na_mll_tmp = 0.0

    # Summation -- reasonable loop here

    for i_l3 in range(i_lmax):
        if (abs(i_l1-i_l2) <= i_l3 and 
            i_l3 <= abs(i_l1+i_l2) and 
            (i_l1+i_l2+i_l3)%2 == 0):
            na_mll_tmp += ((2.0*i_l2+1.0)/(4.0*np.pi)*(2.0*i_l3+1.0)*na_wl[i_l3]
                *w.w3j(i_l1,i_l2,i_l3)**2.0)

    return na_mll_tmp
Пример #2
0
def mll(i_l1, i_l2, na_wl, i_lmax):

    o_w = wigner()
    f_mll_entry = 0.0

    for i_l3 in range(i_lmax):
        
        if (abs(i_l1-i_l2) <= i_l3 
            and i_l3 <= abs(i_l1+i_l2) 
            and (i_l1+i_l2+i_l3)%2 == 0):
            
            f_mll_entry += ((2.0*i_l2+1.0)/(4.0*np.pi)*(2.0*i_l3+1.0)
                            *na_wl[i_l3]*o_w.w3j(i_l1,i_l2,i_l3)**2.0)

    return f_mll_entry