コード例 #1
0
ファイル: singular.py プロジェクト: srmagura/potential
    def __init__(self, **kwargs):
        super().__init__(**kwargs)

        if 'to_dst' in kwargs:
            self.to_dst = kwargs.pop('to_dst')
        else:
            self.to_dst = lambda th: 0

        self.fft_b_coef = fourier.arc_dst(self.a, self.to_dst)[:self.m_max]
        self.fft_a_coef = abcoef.b_to_a(self.fft_b_coef, self.k,
            self.R, self.nu)
コード例 #2
0
ファイル: zmethod.py プロジェクト: srmagura/potential
    def get_expected_a_coef(self):
        if self.problem.name == 'iz-bessel':
            return np.zeros(self.M)

        # Arc only
        r = self.problem.R

        def eval_bc0(th):
            return self.problem.eval_phi0(th) - self.problem.eval_v(r, th)

        def eval_diff(th):
            return self.problem.eval_v(r, th) - self.v_interp(r, th)

        interp_error = arc_dst(self.a, eval_diff)[:self.M]
        print('b interp error:')
        print(interp_error)
        print()

        b_coef = arc_dst(self.a, eval_bc0)[:self.M]
        return abcoef.b_to_a(b_coef, self.k, self.problem.R, self.nu)