def test_properties(self): n = 10 u = np.zeros([n, self.dim]) u[:, 0] = 1.0 ds = directions.directions_nd(u) self.assertTrue(ds.n == n) self.assertTrue(ds.dim == self.dim)
def run_nd(self, dim, u_0, dc_dxs_expected): ds = directions.directions_nd(u_0) grad_c_measurer = c_measurers.ConstantGradCMeasurer(self.n, dim) dc_dx_measurer = dc_dx_measurers.SpatialDcDxMeasurer(ds, grad_c_measurer) dc_dxs = dc_dx_measurer.get_dc_dxs() self.assertTrue(np.allclose(dc_dxs, dc_dxs_expected))
def test_rotate_right_angle(self): u_0 = np.zeros([self.n, self.dim]) u_0[:, 0] = 1.0 dth = np.full([self.n], np.pi / 2.0) ds = directions.directions_nd(u_0) ds.rotate(dth) u_rot_expected = np.zeros([self.n, self.dim]) u_rot_expected[:, 1] = 1.0 self.assertTrue(np.allclose(ds.u, u_rot_expected))
def get_ds_perp(self): u_0 = np.zeros([self.n, self.dim]) u_0[:, 1] = 1.0 return directions.directions_nd(u_0)
def get_ds_antiparallel(self): u_0 = np.zeros([self.n, self.dim]) u_0[:, 0] = -1.0 return directions.directions_nd(u_0)
def test_u_south(self): u = np.zeros([self.n, self.dim]) u[:, 1] = -1.0 ds = directions.directions_nd(u) self.assertTrue(np.allclose(ds.u, u))
def test_u_east(self): u = np.zeros([self.n, self.dim]) u[:, 0] = 1.0 ds = directions.directions_nd(u) self.assertTrue(np.allclose(ds.u, u))