def test_get(self): mesh = UnitSquareMesh(2, 2) V = VectorFunctionSpace(mesh, 'CG', 1) series = TempSeries([(interpolate(Expression(('x[0]', '0'), degree=1), V), 0), (interpolate(Expression(('0', 'x[1]'), degree=1), V), 1)]) mag_series = Eval(series[0]) # series of first componentsts self.assertTrue(error(Expression('x[0]', degree=1), mag_series.getitem(0)) < 1E-14) self.assertTrue(error(Expression('0', degree=1), mag_series.getitem(1)) < 1E-14) mag_series = Eval(series[1]) # series of secon componentsts self.assertTrue(error(Expression('0', degree=1), mag_series.getitem(0)) < 1E-14) self.assertTrue(error(Expression('x[1]', degree=1), mag_series.getitem(1)) < 1E-14)
def test_sliding_window(self): mesh = UnitSquareMesh(4, 4) V = FunctionSpace(mesh, 'CG', 1) series = TempSeries([(interpolate(Constant(1), V), 0), (interpolate(Constant(2), V), 1), (interpolate(Constant(3), V), 2), (interpolate(Constant(4), V), 3)]) f_series = Eval(SlidingWindowFilter(Mean, 2, series**2)) assert len(f_series) == 3 assert f_series.times == (1, 2, 3) self.assertTrue(error(Constant(2.5), f_series.getitem(0)) < 1E-14) self.assertTrue(error(Constant(6.5), f_series.getitem(1)) < 1E-14) self.assertTrue(error(Constant(12.5), f_series.getitem(2)) < 1E-14)
def test_vec_mag(self): mesh = UnitSquareMesh(2, 2) V = VectorFunctionSpace(mesh, 'CG', 1) series = TempSeries([(interpolate(Expression(('x[0]', '0'), degree=1), V), 0), (interpolate(Expression(('0', 'x[1]'), degree=1), V), 1)]) mag_series = Eval(sqrt(inner(series, series))) self.assertTrue(error(Expression('x[0]', degree=1), mag_series.getitem(0)) < 1E-14) self.assertTrue(error(Expression('x[1]', degree=1), mag_series.getitem(1)) < 1E-14)