def test_integrate_master(self): el = Element.Cubic_1D(-1, 1) I = el.integrate(lambda x: 1) self.assertAlmostEqual(I, 2.0) I = el.integrate(lambda x: x**2) self.assertAlmostEqual(I, 2.0 / 3.0) return
def test_integrate_arbitrary(self): el = Element.Cubic_1D(1.0, 1.5) I = el.integrate(lambda x: 2) self.assertAlmostEqual(I, 1.0) I = el.integrate(lambda x: x**3) self.assertAlmostEqual(I, ((1.5)**4 - 1) / 4.0) return
def test_T_arbitrary(self): el = Element.Cubic_1D(0.5, 0.7) self.assertAlmostEqual(el.T(0.5), -1) self.assertAlmostEqual(el.T(0.6), 0) self.assertAlmostEqual(el.T(0.7), 1) self.assertAlmostEqual(el.w[0], -9.0 / 16.0) self.assertAlmostEqual(el.w[1], 27.0 / 16.0) self.assertAlmostEqual(el.w[2], -27.0 / 16.0) self.assertAlmostEqual(el.w[3], 9.0 / 16.0) self.assertAlmostEqual(el.xipts[0], -1) self.assertAlmostEqual(el.xipts[1], -1.0 / 3.0) self.assertAlmostEqual(el.xipts[2], 1.0 / 3.0) self.assertAlmostEqual(el.xipts[3], 1) return
def test_gradsqphi_master(self): el = Element.Cubic_1D(-1, 1) ggp0 = el.gradsqphi(0) ggp1 = el.gradsqphi(1) ggp2 = el.gradsqphi(2) ggp3 = el.gradsqphi(3) self.assertAlmostEqual(ggp0(-1), 4.5) self.assertAlmostEqual(ggp0(1.0 / 3.0), 0) self.assertAlmostEqual(ggp1(-1), -45.0 / 4.0) self.assertAlmostEqual(ggp1(1.0 / 9.0), 0) self.assertAlmostEqual(ggp2(-1), 9.0) self.assertAlmostEqual(ggp2(-1.0 / 9.0), 0) self.assertAlmostEqual(ggp3(-1), -9.0 / 4.0) self.assertAlmostEqual(ggp3(-1.0 / 3.0), 0) return
def test_T_master(self): el = Element.Cubic_1D(-1, 1) self.assertAlmostEqual(el.T(-1), -1) self.assertAlmostEqual(el.T(-0.5), -0.5) self.assertAlmostEqual(el.T(0), 0) self.assertAlmostEqual(el.T(0.5), 0.5) self.assertAlmostEqual(el.T(1), 1) self.assertAlmostEqual(el.w[0], -9.0 / 16.0) self.assertAlmostEqual(el.w[1], 27.0 / 16.0) self.assertAlmostEqual(el.w[2], -27.0 / 16.0) self.assertAlmostEqual(el.w[3], 9.0 / 16.0) self.assertAlmostEqual(el.xipts[0], -1) self.assertAlmostEqual(el.xipts[1], -1.0 / 3.0) self.assertAlmostEqual(el.xipts[2], 1.0 / 3.0) self.assertAlmostEqual(el.xipts[3], 1) return
def test_jacobian_arbitrary(self): el = Element.Cubic_1D(-23, 51) self.assertAlmostEqual(el.jacobian(0), 2.0 / 74.0) return
def test_jacobian_master(self): el = Element.Cubic_1D(-1, 1) self.assertAlmostEqual(el.jacobian(0), 1.0) return