def test_post_loop_code(self): from pysph.base.kernels import CubicSpline k = CubicSpline(dim=3) e1 = TestEq1('f', ['f']) e2 = TestEq2('f', ['f']) g = Group([e1, e2]) # First get the equation wrappers so the equation names are setup. w = g.get_equation_wrappers() result = g.get_post_loop_code(k) expect = dedent('''\ self.test_eq10.post_loop(d_idx, d_h) ''') msg = 'EXPECTED:\n%s\nGOT:\n%s'%(expect, result) self.assertEqual(result, expect, msg)
def test_post_loop_code(self): from pysph.base.kernels import CubicSpline k = CubicSpline(dim=3) e1 = Equation1('f', ['f']) e2 = Equation2('f', ['f']) g = Group([e1, e2]) # First get the equation wrappers so the equation names are setup. w = g.get_equation_wrappers() result = g.get_post_loop_code(k) expect = dedent('''\ self.equation10.post_loop(d_idx, d_h) ''') msg = 'EXPECTED:\n%s\nGOT:\n%s' % (expect, result) self.assertEqual(result, expect, msg)
def test_loop_code(self): from pysph.base.kernels import CubicSpline k = CubicSpline(dim=3) e1 = TestEq1('f', ['f']) e2 = TestEq2('f', ['f']) g = Group([e1, e2]) # First get the equation wrappers so the equation names are setup. w = g.get_equation_wrappers() result = g.get_loop_code(k) expect = dedent('''\ HIJ = 0.5*(d_h[d_idx] + s_h[s_idx]) XIJ[0] = d_x[d_idx] - s_x[s_idx] XIJ[1] = d_y[d_idx] - s_y[s_idx] XIJ[2] = d_z[d_idx] - s_z[s_idx] R2IJ = XIJ[0]*XIJ[0] + XIJ[1]*XIJ[1] + XIJ[2]*XIJ[2] RIJ = sqrt(R2IJ) WIJ = self.kernel.kernel(XIJ, RIJ, HIJ) self.test_eq10.loop(WIJ) self.test_eq20.loop(d_idx, s_idx) ''') msg = 'EXPECTED:\n%s\nGOT:\n%s'%(expect, result) self.assertEqual(result, expect, msg)
def test_loop_code(self): from pysph.base.kernels import CubicSpline k = CubicSpline(dim=3) e1 = Equation1('f', ['f']) e2 = Equation2('f', ['f']) g = Group([e1, e2]) # First get the equation wrappers so the equation names are setup. w = g.get_equation_wrappers() result = g.get_loop_code(k) expect = dedent('''\ HIJ = 0.5*(d_h[d_idx] + s_h[s_idx]) XIJ[0] = d_x[d_idx] - s_x[s_idx] XIJ[1] = d_y[d_idx] - s_y[s_idx] XIJ[2] = d_z[d_idx] - s_z[s_idx] R2IJ = XIJ[0]*XIJ[0] + XIJ[1]*XIJ[1] + XIJ[2]*XIJ[2] RIJ = sqrt(R2IJ) WIJ = self.kernel.kernel(XIJ, RIJ, HIJ) self.equation10.loop(WIJ) self.equation20.loop(d_idx, s_idx) ''') msg = 'EXPECTED:\n%s\nGOT:\n%s' % (expect, result) self.assertEqual(result, expect, msg)