1# coding: utf-8 2"""Tests for bessel module.""" 3import numpy as np 4 5from abipy.tools import bessel 6from abipy.core.testing import AbipyTest 7 8 9class TestBessels(AbipyTest): 10 11 def test_spline_int_jlqr(self): 12 """Testing spline_int_jlqr.""" 13 rcut, qmax = 1.3, 3 14 l = 0 15 qvals = np.linspace(0, qmax, num=200) 16 spline = bessel.spline_int_jlqr(l, qmax, rcut, numq=1024, numr=1024) 17 fq = spline(qvals) 18 assert len(fq) == len(qvals) 19 assert fq.shape == (len(qvals),) 20 self.assert_almost_equal(fq[0], rcut ** 3 / 3) 21 def primitive(x): 22 return -x * np.cos(x) + np.sin(x) 23 self.assert_almost_equal(fq[-1], (1 / qmax**3) * (primitive(qmax*rcut) - primitive(0))) 24