def function_a10(self, m, n, l):
     cv_l = get_cv(m, l, self.c1, self.particle.type)
     cv_n = get_cv(m, n, self.c1, self.particle.type)
     return lambda nu: -(conjugate(spheroidal.get_a_function(m,n,self.c1,cv_n,3,self.particle)(nu)) *\
                       spheroidal.get_a_function(m,l,self.c1,cv_l,1,self.particle)(nu) +\
                       conjugate(spheroidal.get_b_function(m,n,self.c1,cv_n,3,self.particle)(nu)) *\
                       spheroidal.get_b_function(m,l,self.c1,cv_l,1,self.particle)(nu))
예제 #2
0
 def function_a10(self,m, n, l):
     cv_l = get_cv(m, l, self.c1, self.particle.type)
     cv_n = get_cv(m, n, self.c1, self.particle.type)
     return lambda nu: -(conjugate(spheroidal.get_a_function(m,n,self.c1,cv_n,3,self.particle)(nu)) *\
                       spheroidal.get_a_function(m,l,self.c1,cv_l,1,self.particle)(nu) +\
                       conjugate(spheroidal.get_b_function(m,n,self.c1,cv_n,3,self.particle)(nu)) *\
                       spheroidal.get_b_function(m,l,self.c1,cv_l,1,self.particle)(nu))
예제 #3
0
    def get_BRi(self):
        Br = zeros((self.nmax, self.nmax), dtype=complex)
        type = self.particle.type
        m = 1
        for i in range(self.nmax):
            for k in range(self.nmax):
                n = i + m
                l = k + m
                cv_l = get_cv(m, l, self.c2, type)
                cv_n = get_cv(m, n, self.c1, type)
                func = lambda nu: (spheroidal.get_a_function(m, l, self.c2, cv_l, 1, self.particle)(nu) * \
                                  spheroidal.get_b_function(m, n, self.c1, cv_n, 1, self.particle)(nu) - \
                                  spheroidal.get_c_function(m, l, self.c2, cv_l, 1, self.particle)(nu) * \
                                  spheroidal.get_a_function(m, n, self.c1, cv_n, 1, self.particle)(nu)) * spheroidal.metric_phi(nu, self.particle)\
                                  * spheroidal.get_integral_metric(self.particle)(nu)

                Br[i][k] = spheroidal.quad(func, -1, 1)
        return -1j * mat(Br)
예제 #4
0
    def get_BRi(self):
        Br = zeros((self.nmax, self.nmax), dtype=complex)
        type = self.particle.type
        m = 1
        for i in range(self.nmax):
            for k in range(self.nmax):
                n = i + m
                l = k + m
                cv_l = get_cv(m, l, self.c2, type)
                cv_n = get_cv(m, n, self.c1, type)
                func = lambda nu: (spheroidal.get_a_function(m, l, self.c2, cv_l, 1, self.particle)(nu) * \
                                  spheroidal.get_b_function(m, n, self.c1, cv_n, 1, self.particle)(nu) - \
                                  spheroidal.get_c_function(m, l, self.c2, cv_l, 1, self.particle)(nu) * \
                                  spheroidal.get_a_function(m, n, self.c1, cv_n, 1, self.particle)(nu)) * spheroidal.metric_phi(nu, self.particle)\
                                  * spheroidal.get_integral_metric(self.particle)(nu)

                Br[i][k] = spheroidal.quad(func, -1, 1)
        return  -1j * mat(Br)