From 4d6a91e0479474848dc4cb9f77917341e219bbd9 Mon Sep 17 00:00:00 2001 From: weiler Date: Thu, 26 Aug 2010 16:35:08 +0000 Subject: [PATCH] add new test git-svn-id: https://svn.dealii.org/trunk@21738 0785d39b-7218-0410-832d-ea1e28bc413d --- tests/base/functions_02.cc | 192 ++++++++++++++++++++++++++++ tests/base/functions_02/cmp/generic | 45 +++++++ 2 files changed, 237 insertions(+) create mode 100644 tests/base/functions_02.cc create mode 100644 tests/base/functions_02/cmp/generic diff --git a/tests/base/functions_02.cc b/tests/base/functions_02.cc new file mode 100644 index 0000000000..a89fc061f4 --- /dev/null +++ b/tests/base/functions_02.cc @@ -0,0 +1,192 @@ +//----------------------------------------------------------------------------- +// $Id$ +// Version: $Name$ +// +// Copyright (C) 2010 by the deal.II authors +// +// This file is subject to QPL and may not be distributed +// without copyright and license information. Please refer +// to the file deal.II/doc/license.html for the text and +// further information on this license. +// +//----------------------------------------------------------------------------- + +// Check methods of the Q1WedgeFunction +// 1-dim does not exist +// 2-dim Q1WedgeFunction = xy +// 3-dim Q1WedgeFunction = xy + +#include "../tests.h" +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + + +template +void check_values(const Function& f) +{ + Point p; + for(unsigned int i=0; i +void check_value_list(const Function& f) +{ + const unsigned int max_points = 3; + std::vector< Point > point_vector(max_points); + for(unsigned int j=0; j p; + for(unsigned int i=0; i values(max_points); + f.value_list(point_vector, values); + for(unsigned int j=0; j +void check_vector_value_list(const Function& f) +{ + const unsigned int max_points = 3; + std::vector< Point > point_vector(max_points); + for(unsigned int j=0; j p; + for(unsigned int i=0; i > values(max_points, Vector(1)); + f.vector_value_list(point_vector, values); + for(unsigned int j=0; j +void check_gradients(const Function& f) +{ + Point p; + for(unsigned int i=0; i grads = f.gradient(p); + for(unsigned int i=0; i +void check_gradient_list(const Function& f) +{ + const unsigned int max_points = 3; + std::vector< Point > point_vector(max_points); + for(unsigned int j=0; j p; + for(unsigned int i=0; i > grads(max_points); + f.gradient_list(point_vector, grads); + for(unsigned int j=0; j +void check_vector_gradient_list(const Function& f) +{ + const unsigned int max_points = 3; + std::vector< Point > point_vector(max_points); + for(unsigned int j=0; j p; + for(unsigned int i=0; i > > gradients(max_points, + std::vector< Tensor<1,dim> > (1)); + f.vector_gradient_list(point_vector, gradients); + for(unsigned int j=0; j +void check_laplacian(const Function& f) +{ + Point p; + for(unsigned int i=0; i +void check_laplacian_list(const Function& f) +{ + const unsigned int max_points = 3; + std::vector< Point > point_vector(max_points); + for(unsigned int j=0; j p; + for(unsigned int i=0; i values(max_points); + f.laplacian_list(point_vector, values); + for(unsigned int j=0; j" << std::endl; + check_values(Functions::Q1WedgeFunction<2>()); + check_values(Functions::Q1WedgeFunction<3>()); + check_value_list(Functions::Q1WedgeFunction<2>()); + check_value_list(Functions::Q1WedgeFunction<3>()); + check_vector_value_list(Functions::Q1WedgeFunction<2>()); + check_vector_value_list(Functions::Q1WedgeFunction<3>()); + check_gradients(Functions::Q1WedgeFunction<2>()); + check_gradients(Functions::Q1WedgeFunction<3>()); + check_gradient_list(Functions::Q1WedgeFunction<2>()); + check_gradient_list(Functions::Q1WedgeFunction<3>()); + check_vector_gradient_list(Functions::Q1WedgeFunction<2>()); + check_vector_gradient_list(Functions::Q1WedgeFunction<3>()); + check_laplacian(Functions::Q1WedgeFunction<2>()); + check_laplacian(Functions::Q1WedgeFunction<3>()); + } + +} diff --git a/tests/base/functions_02/cmp/generic b/tests/base/functions_02/cmp/generic new file mode 100644 index 0000000000..d7bae4e7c9 --- /dev/null +++ b/tests/base/functions_02/cmp/generic @@ -0,0 +1,45 @@ + +DEAL:: Functions::Q1WedgeFunction<2> +DEAL::2.00000 +DEAL:: values checked +DEAL::2.00000 +DEAL:: values checked +DEAL::1.00000 +DEAL::4.00000 +DEAL::9.00000 +DEAL:: value_list checked +DEAL::1.00000 +DEAL::4.00000 +DEAL::9.00000 +DEAL:: value_list checked +DEAL::1.00000 +DEAL::4.00000 +DEAL::9.00000 +DEAL:: vector_value_list checked +DEAL::1.00000 +DEAL::4.00000 +DEAL::9.00000 +DEAL:: vector_value_list checked +DEAL::0-der: 4.00000 +DEAL::1-der: 3.00000 +DEAL:: gradients checked +DEAL::0-der: 4.00000 +DEAL::1-der: 3.00000 +DEAL::2-der: 0 +DEAL:: gradients checked +DEAL::1.00000 1.00000 +DEAL::2.00000 2.00000 +DEAL::3.00000 3.00000 +DEAL:: gradient_list checked +DEAL::1.00000 1.00000 0.00000 +DEAL::2.00000 2.00000 0.00000 +DEAL::3.00000 3.00000 0.00000 +DEAL:: gradient_list checked +DEAL::1.00000 1.00000 +DEAL::2.00000 2.00000 +DEAL::3.00000 3.00000 +DEAL:: vector_gradient_list checked +DEAL::1.00000 1.00000 0.00000 +DEAL::2.00000 2.00000 0.00000 +DEAL::3.00000 3.00000 0.00000 +DEAL:: vector_gradient_list checked -- 2.39.5