def test_spline_smoke(self): # smoke test to make Spline at least gives us something a = Spline(100, [2], [0.5], zgrad=False, microslab_max_thickness=1) s = self.left | a | self.right | self.solvent b = a.slabs(s) assert_equal(b[:, 2], 0) # microslabs are assessed in the middle of the slab assert_equal(b[0, 1], a(0.5 * b[0, 0], s)) # with the ends turned off the profile should be a straight line assert_equal(a(50, s), 2.0) # construct a structure a = Spline( 100, [2.0, 3.0, 4.0], [0.25] * 3, zgrad=False, microslab_max_thickness=1, ) # s.solvent = None s = self.left | a | self.right | self.solvent # calculate an SLD profile s.sld_profile() # ask for the parameters for p in flatten(s.parameters): assert_(isinstance(p, Parameter)) # s.solvent is not None s.solvent = self.solvent # calculate an SLD profile s.sld_profile()
def test_spline_no_knots(self): # try and make Spline with no knots a = Spline(100, [], [], zgrad=False, microslab_max_thickness=1) s = self.left | a | self.right | self.solvent b = a.slabs(s) assert_equal(b[:, 2], 0) # microslabs are assessed in the middle of the slab assert_equal(b[0, 1], a(0.5 * b[0, 0], s)) # with the ends turned off the profile should be a straight line assert_equal(a(50, s), 2.0) q = np.linspace(0.01, 0.5, 1001) s.reflectivity(q)