From 552a88789355a79d78994330e082d6820c99133c Mon Sep 17 00:00:00 2001 From: bangerth Date: Sun, 10 Sep 2006 16:59:05 +0000 Subject: [PATCH] New tests git-svn-id: https://svn.dealii.org/trunk@13891 0785d39b-7218-0410-832d-ea1e28bc413d --- tests/deal.II/Makefile | 4 +- tests/deal.II/maximal_cell_diameter.cc | 87 +++++++++++++++++++ .../deal.II/maximal_cell_diameter/cmp/generic | 11 +++ tests/deal.II/minimal_cell_diameter.cc | 81 +++++++++++++++++ .../deal.II/minimal_cell_diameter/cmp/generic | 11 +++ 5 files changed, 193 insertions(+), 1 deletion(-) create mode 100644 tests/deal.II/maximal_cell_diameter.cc create mode 100644 tests/deal.II/maximal_cell_diameter/cmp/generic create mode 100644 tests/deal.II/minimal_cell_diameter.cc create mode 100644 tests/deal.II/minimal_cell_diameter/cmp/generic diff --git a/tests/deal.II/Makefile b/tests/deal.II/Makefile index 8a469d27bf..dff4a91d40 100644 --- a/tests/deal.II/Makefile +++ b/tests/deal.II/Makefile @@ -54,7 +54,9 @@ tests_x = block_matrices \ interpolate_* \ have_same_coarse_mesh_* \ get_finest_common_cells_* \ - project_*[0-9] + project_*[0-9] \ + minimal_cell_diameter \ + maximal_cell_diameter # from above list of regular expressions, generate the real set of # tests diff --git a/tests/deal.II/maximal_cell_diameter.cc b/tests/deal.II/maximal_cell_diameter.cc new file mode 100644 index 0000000000..08816e745f --- /dev/null +++ b/tests/deal.II/maximal_cell_diameter.cc @@ -0,0 +1,87 @@ +//---------------------------- maximal_cell_diameter.cc --------------------------- +// $Id$ +// Version: $Name$ +// +// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 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. +// +//---------------------------- maximal_cell_diameter.cc --------------------------- + + +#include "../tests.h" +#include +#include +#include +#include +#include + +#include + + +std::ofstream logfile("maximal_cell_diameter/output"); + + + +template +void test1 () +{ + // test 1: hypercube + if (true) + { + Triangulation tria; + GridGenerator::hyper_cube(tria); + + for (unsigned int i=0; i<2; ++i) + { + tria.refine_global(2); + deallog << dim << "d, " + << "max diameter: " + << GridTools::maximal_cell_diameter (tria) + << std::endl; + Assert (GridTools::maximal_cell_diameter (tria) + >= + GridTools::minimal_cell_diameter (tria), + ExcInternalError()); + }; + }; + + // test 2: hyperball + if (dim >= 2) + { + Triangulation tria; + GridGenerator::hyper_ball(tria, Point(), 1); + + for (unsigned int i=0; i<2; ++i) + { + tria.refine_global(2); + deallog << dim << "d, " + << "max diameter: " + << GridTools::maximal_cell_diameter (tria) + << std::endl; + Assert (GridTools::maximal_cell_diameter (tria) + >= + GridTools::minimal_cell_diameter (tria), + ExcInternalError()); + }; + }; +} + + +int main () +{ + logfile.precision(4); + deallog.attach(logfile); + deallog.depth_console(0); + deallog.threshold_double(1.e-10); + + test1<1> (); + test1<2> (); + test1<3> (); + + return 0; +} + diff --git a/tests/deal.II/maximal_cell_diameter/cmp/generic b/tests/deal.II/maximal_cell_diameter/cmp/generic new file mode 100644 index 0000000000..5f04090618 --- /dev/null +++ b/tests/deal.II/maximal_cell_diameter/cmp/generic @@ -0,0 +1,11 @@ + +DEAL::1d, max diameter: 0.2500 +DEAL::1d, max diameter: 0.06250 +DEAL::2d, max diameter: 0.3536 +DEAL::2d, max diameter: 0.08839 +DEAL::2d, max diameter: 0.4183 +DEAL::2d, max diameter: 0.1140 +DEAL::3d, max diameter: 0.4330 +DEAL::3d, max diameter: 0.1083 +DEAL::3d, max diameter: 0.4817 +DEAL::3d, max diameter: 0.1324 diff --git a/tests/deal.II/minimal_cell_diameter.cc b/tests/deal.II/minimal_cell_diameter.cc new file mode 100644 index 0000000000..717f2b50f3 --- /dev/null +++ b/tests/deal.II/minimal_cell_diameter.cc @@ -0,0 +1,81 @@ +//---------------------------- minimal_cell_diameter.cc --------------------------- +// $Id$ +// Version: $Name$ +// +// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 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. +// +//---------------------------- minimal_cell_diameter.cc --------------------------- + + +#include "../tests.h" +#include +#include +#include +#include +#include + +#include + + +std::ofstream logfile("minimal_cell_diameter/output"); + + + +template +void test1 () +{ + // test 1: hypercube + if (true) + { + Triangulation tria; + GridGenerator::hyper_cube(tria); + + for (unsigned int i=0; i<2; ++i) + { + tria.refine_global(2); + deallog << dim << "d, " + << "min diameter: " + << GridTools::minimal_cell_diameter (tria) + << std::endl; + }; + }; + + // test 2: hyperball + if (dim >= 2) + { + Triangulation tria; + GridGenerator::hyper_ball(tria, Point(), 1); + + for (unsigned int i=0; i<2; ++i) + { + tria.refine_global(2); + deallog << dim << "d, " + << "min diameter: " + << GridTools::minimal_cell_diameter (tria) + << std::endl; + }; + }; +} + + + + +int main () +{ + logfile.precision(4); + deallog.attach(logfile); + deallog.depth_console(0); + deallog.threshold_double(1.e-10); + + test1<1> (); + test1<2> (); + test1<3> (); + + return 0; +} + diff --git a/tests/deal.II/minimal_cell_diameter/cmp/generic b/tests/deal.II/minimal_cell_diameter/cmp/generic new file mode 100644 index 0000000000..8aa639da59 --- /dev/null +++ b/tests/deal.II/minimal_cell_diameter/cmp/generic @@ -0,0 +1,11 @@ + +DEAL::1d, min diameter: 0.2500 +DEAL::1d, min diameter: 0.06250 +DEAL::2d, min diameter: 0.3536 +DEAL::2d, min diameter: 0.08839 +DEAL::2d, min diameter: 0.2071 +DEAL::2d, min diameter: 0.04752 +DEAL::3d, min diameter: 0.4330 +DEAL::3d, min diameter: 0.1083 +DEAL::3d, min diameter: 0.1830 +DEAL::3d, min diameter: 0.04575 -- 2.39.5