From 5f31f8f3fee6e345a73286086d3a5ccbc212f0c5 Mon Sep 17 00:00:00 2001 From: Ralf Hartmann Date: Tue, 8 May 2001 09:54:34 +0000 Subject: [PATCH] Implementation of new test for the new TensorProductPolynomials::compute_value, compute_grad and compute_grad_grad functions. git-svn-id: https://svn.dealii.org/trunk@4559 0785d39b-7218-0410-832d-ea1e28bc413d --- tests/base/polynomial_test.cc | 33 ++++++++++++++++++------------ tests/base/polynomial_test.checked | 26 ++++++++++++++--------- 2 files changed, 36 insertions(+), 23 deletions(-) diff --git a/tests/base/polynomial_test.cc b/tests/base/polynomial_test.cc index eccc7653ae..b8e639aa67 100644 --- a/tests/base/polynomial_test.cc +++ b/tests/base/polynomial_test.cc @@ -151,36 +151,43 @@ int main(int, char) pols.push_back(LagrangeEquidistant(p, i)); TensorProductPolynomials<2> tp_pol(pols); - vector vs(n_tensor_pols); - vector > grads(n_tensor_pols); - vector > grad_grads(n_tensor_pols); double v_exact; Tensor<1,2> grad_exact; Tensor<2,2> grad_grad_exact; - double xi=0.35; - double eta=0.62; - Point<2> point(xi,eta); - tp_pol.compute(point, vs, grads, grad_grads); - + Point<2> point(0.35,0.62); // 4th shape function of Q3<2> is // equivalent to its 1st shape // function in lexicographical // order. Q3_4th_shape_function_values_and_grads_dim2(point, v_exact, grad_exact, grad_grad_exact); - + unsigned int i=1; - deallog << "v_" << i << "=" << vs[i] << std::endl; + double v=tp_pol.compute_value(i, point); + Tensor<1,2> grad=tp_pol.compute_grad(i, point); + Tensor<2,2> grad_grad=tp_pol.compute_grad_grad(i, point); + + vector vs(n_tensor_pols); + vector > grads(n_tensor_pols); + vector > grad_grads(n_tensor_pols); + tp_pol.compute(point, vs, grads, grad_grads); + + + deallog << "v=" << v << std::endl; + deallog << "vs[" << i << "]=" << vs[i] << std::endl; deallog << "v_exact=" << v_exact << std::endl; - deallog << "grad_v_" << i << "=" << grads[i] << std::endl; + deallog << "grad=" << grad << std::endl; + deallog << "grads[" << i << "]=" << grads[i] << std::endl; deallog << "grad_exact=" << grad_exact << std::endl; for (unsigned int j=0; j