From 96de83230bb8bd95dcb8866b7594658ddcf2eff2 Mon Sep 17 00:00:00 2001 From: bangerth Date: Sat, 24 Feb 2007 14:55:39 +0000 Subject: [PATCH] Add the possibility of a maximal number of cells upon mesh refinement. git-svn-id: https://svn.dealii.org/trunk@14499 0785d39b-7218-0410-832d-ea1e28bc413d --- tests/bits/Makefile | 3 +- tests/bits/max_n_cells_01.cc | 66 +++++++++++++++++ tests/bits/max_n_cells_01/cmp/generic | 99 +++++++++++++++++++++++++ tests/bits/max_n_cells_02.cc | 70 ++++++++++++++++++ tests/bits/max_n_cells_02/cmp/generic | 102 ++++++++++++++++++++++++++ 5 files changed, 339 insertions(+), 1 deletion(-) create mode 100644 tests/bits/max_n_cells_01.cc create mode 100644 tests/bits/max_n_cells_01/cmp/generic create mode 100644 tests/bits/max_n_cells_02.cc create mode 100644 tests/bits/max_n_cells_02/cmp/generic diff --git a/tests/bits/Makefile b/tests/bits/Makefile index 135760e6c9..d3d0623e30 100644 --- a/tests/bits/Makefile +++ b/tests/bits/Makefile @@ -84,7 +84,8 @@ tests_x = grid_generator_?? \ face_orientation_crash \ refine_and_coarsen_* \ tria_crash_* \ - face_orientation_* + face_orientation_* \ + max_n_cells_* # tests for the hp branch: # fe_collection_* diff --git a/tests/bits/max_n_cells_01.cc b/tests/bits/max_n_cells_01.cc new file mode 100644 index 0000000000..458171fadf --- /dev/null +++ b/tests/bits/max_n_cells_01.cc @@ -0,0 +1,66 @@ +//---------------------------- max_n_cells_01.cc --------------------------- +// $Id: max_n_cells_01.cc 12193 2006-01-27 15:57:34Z wolf $ +// Version: $Name$ +// +// Copyright (C) 2007 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. +// +//---------------------------- max_n_cells_01.cc --------------------------- + +// test the max_n_cells argument to GridRefinement::refine_and_coarsen_fixed_number + + +#include "../tests.h" +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + + + +template +void test () +{ + Triangulation tria; + GridGenerator::hyper_cube (tria); + tria.refine_global(2); + + for (unsigned int cycle=0; cycle<7*(4-dim)*(4-dim); ++cycle) + { + deallog << "cycle=" << cycle << ", n_cells=" << tria.n_active_cells() << std::endl; + + Vector criteria (tria.n_active_cells()); + for (unsigned int i=0; i (); + test<2> (); + test<3> (); +} diff --git a/tests/bits/max_n_cells_01/cmp/generic b/tests/bits/max_n_cells_01/cmp/generic new file mode 100644 index 0000000000..756eb2c969 --- /dev/null +++ b/tests/bits/max_n_cells_01/cmp/generic @@ -0,0 +1,99 @@ + +DEAL::cycle=0, n_cells=4 +DEAL::cycle=1, n_cells=6 +DEAL::cycle=2, n_cells=8 +DEAL::cycle=3, n_cells=11 +DEAL::cycle=4, n_cells=15 +DEAL::cycle=5, n_cells=20 +DEAL::cycle=6, n_cells=26 +DEAL::cycle=7, n_cells=34 +DEAL::cycle=8, n_cells=45 +DEAL::cycle=9, n_cells=59 +DEAL::cycle=10, n_cells=77 +DEAL::cycle=11, n_cells=100 +DEAL::cycle=12, n_cells=130 +DEAL::cycle=13, n_cells=168 +DEAL::cycle=14, n_cells=218 +DEAL::cycle=15, n_cells=282 +DEAL::cycle=16, n_cells=366 +DEAL::cycle=17, n_cells=473 +DEAL::cycle=18, n_cells=611 +DEAL::cycle=19, n_cells=789 +DEAL::cycle=20, n_cells=1018 +DEAL::cycle=21, n_cells=1313 +DEAL::cycle=22, n_cells=1691 +DEAL::cycle=23, n_cells=2180 +DEAL::cycle=24, n_cells=2807 +DEAL::cycle=25, n_cells=3613 +DEAL::cycle=26, n_cells=4650 +DEAL::cycle=27, n_cells=5983 +DEAL::cycle=28, n_cells=7695 +DEAL::cycle=29, n_cells=9896 +DEAL::cycle=30, n_cells=10006 +DEAL::cycle=31, n_cells=10005 +DEAL::cycle=32, n_cells=10005 +DEAL::cycle=33, n_cells=10005 +DEAL::cycle=34, n_cells=10005 +DEAL::cycle=35, n_cells=10005 +DEAL::cycle=36, n_cells=10005 +DEAL::cycle=37, n_cells=10005 +DEAL::cycle=38, n_cells=10005 +DEAL::cycle=39, n_cells=10005 +DEAL::cycle=40, n_cells=10005 +DEAL::cycle=41, n_cells=10005 +DEAL::cycle=42, n_cells=10005 +DEAL::cycle=43, n_cells=10005 +DEAL::cycle=44, n_cells=10005 +DEAL::cycle=45, n_cells=10005 +DEAL::cycle=46, n_cells=10005 +DEAL::cycle=47, n_cells=10005 +DEAL::cycle=48, n_cells=10005 +DEAL::cycle=49, n_cells=10005 +DEAL::cycle=50, n_cells=10005 +DEAL::cycle=51, n_cells=10005 +DEAL::cycle=52, n_cells=10005 +DEAL::cycle=53, n_cells=10005 +DEAL::cycle=54, n_cells=10005 +DEAL::cycle=55, n_cells=10005 +DEAL::cycle=56, n_cells=10005 +DEAL::cycle=57, n_cells=10005 +DEAL::cycle=58, n_cells=10005 +DEAL::cycle=59, n_cells=10005 +DEAL::cycle=60, n_cells=10005 +DEAL::cycle=61, n_cells=10005 +DEAL::cycle=62, n_cells=10005 +DEAL::cycle=0, n_cells=16 +DEAL::cycle=1, n_cells=31 +DEAL::cycle=2, n_cells=61 +DEAL::cycle=3, n_cells=118 +DEAL::cycle=4, n_cells=226 +DEAL::cycle=5, n_cells=433 +DEAL::cycle=6, n_cells=829 +DEAL::cycle=7, n_cells=1588 +DEAL::cycle=8, n_cells=3022 +DEAL::cycle=9, n_cells=5734 +DEAL::cycle=10, n_cells=10057 +DEAL::cycle=11, n_cells=10048 +DEAL::cycle=12, n_cells=10048 +DEAL::cycle=13, n_cells=10048 +DEAL::cycle=14, n_cells=10048 +DEAL::cycle=15, n_cells=10048 +DEAL::cycle=16, n_cells=10048 +DEAL::cycle=17, n_cells=10048 +DEAL::cycle=18, n_cells=10048 +DEAL::cycle=19, n_cells=10048 +DEAL::cycle=20, n_cells=10048 +DEAL::cycle=21, n_cells=10048 +DEAL::cycle=22, n_cells=10048 +DEAL::cycle=23, n_cells=10048 +DEAL::cycle=24, n_cells=10048 +DEAL::cycle=25, n_cells=10048 +DEAL::cycle=26, n_cells=10048 +DEAL::cycle=27, n_cells=10048 +DEAL::cycle=0, n_cells=64 +DEAL::cycle=1, n_cells=204 +DEAL::cycle=2, n_cells=715 +DEAL::cycle=3, n_cells=2346 +DEAL::cycle=4, n_cells=7498 +DEAL::cycle=5, n_cells=10032 +DEAL::cycle=6, n_cells=10032 diff --git a/tests/bits/max_n_cells_02.cc b/tests/bits/max_n_cells_02.cc new file mode 100644 index 0000000000..1124b7c490 --- /dev/null +++ b/tests/bits/max_n_cells_02.cc @@ -0,0 +1,70 @@ +//---------------------------- max_n_cells_02.cc --------------------------- +// $Id: max_n_cells_02.cc 12193 2006-01-27 15:57:34Z wolf $ +// Version: $Name$ +// +// Copyright (C) 2007 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. +// +//---------------------------- max_n_cells_02.cc --------------------------- + +// test the max_n_cells argument to +// GridRefinement::refine_and_coarsen_fixed_fraction + + +#include "../tests.h" +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + + + +template +void test () +{ + deallog << dim << "d:" + << std::endl; + + Triangulation tria; + GridGenerator::hyper_cube (tria); + tria.refine_global(2); + + for (unsigned int cycle=0; cycle<7*(4-dim)*(4-dim); ++cycle) + { + deallog << "cycle=" << cycle << ", n_cells=" << tria.n_active_cells() << std::endl; + + Vector criteria (tria.n_active_cells()); + for (unsigned int i=0; i (); + test<2> (); + test<3> (); +} diff --git a/tests/bits/max_n_cells_02/cmp/generic b/tests/bits/max_n_cells_02/cmp/generic new file mode 100644 index 0000000000..01b1f59a42 --- /dev/null +++ b/tests/bits/max_n_cells_02/cmp/generic @@ -0,0 +1,102 @@ + +DEAL::1d: +DEAL::cycle=0, n_cells=4 +DEAL::cycle=1, n_cells=5 +DEAL::cycle=2, n_cells=8 +DEAL::cycle=3, n_cells=13 +DEAL::cycle=4, n_cells=20 +DEAL::cycle=5, n_cells=31 +DEAL::cycle=6, n_cells=47 +DEAL::cycle=7, n_cells=71 +DEAL::cycle=8, n_cells=105 +DEAL::cycle=9, n_cells=156 +DEAL::cycle=10, n_cells=231 +DEAL::cycle=11, n_cells=341 +DEAL::cycle=12, n_cells=502 +DEAL::cycle=13, n_cells=741 +DEAL::cycle=14, n_cells=1091 +DEAL::cycle=15, n_cells=1604 +DEAL::cycle=16, n_cells=2354 +DEAL::cycle=17, n_cells=3456 +DEAL::cycle=18, n_cells=5073 +DEAL::cycle=19, n_cells=7443 +DEAL::cycle=20, n_cells=10007 +DEAL::cycle=21, n_cells=10004 +DEAL::cycle=22, n_cells=10003 +DEAL::cycle=23, n_cells=10003 +DEAL::cycle=24, n_cells=10003 +DEAL::cycle=25, n_cells=10003 +DEAL::cycle=26, n_cells=10003 +DEAL::cycle=27, n_cells=10003 +DEAL::cycle=28, n_cells=10003 +DEAL::cycle=29, n_cells=10003 +DEAL::cycle=30, n_cells=10003 +DEAL::cycle=31, n_cells=10003 +DEAL::cycle=32, n_cells=10003 +DEAL::cycle=33, n_cells=10003 +DEAL::cycle=34, n_cells=10003 +DEAL::cycle=35, n_cells=10003 +DEAL::cycle=36, n_cells=10003 +DEAL::cycle=37, n_cells=10003 +DEAL::cycle=38, n_cells=10003 +DEAL::cycle=39, n_cells=10003 +DEAL::cycle=40, n_cells=10003 +DEAL::cycle=41, n_cells=10003 +DEAL::cycle=42, n_cells=10003 +DEAL::cycle=43, n_cells=10003 +DEAL::cycle=44, n_cells=10003 +DEAL::cycle=45, n_cells=10003 +DEAL::cycle=46, n_cells=10003 +DEAL::cycle=47, n_cells=10003 +DEAL::cycle=48, n_cells=10003 +DEAL::cycle=49, n_cells=10003 +DEAL::cycle=50, n_cells=10003 +DEAL::cycle=51, n_cells=10003 +DEAL::cycle=52, n_cells=10003 +DEAL::cycle=53, n_cells=10003 +DEAL::cycle=54, n_cells=10003 +DEAL::cycle=55, n_cells=10003 +DEAL::cycle=56, n_cells=10003 +DEAL::cycle=57, n_cells=10003 +DEAL::cycle=58, n_cells=10003 +DEAL::cycle=59, n_cells=10003 +DEAL::cycle=60, n_cells=10003 +DEAL::cycle=61, n_cells=10003 +DEAL::cycle=62, n_cells=10003 +DEAL::2d: +DEAL::cycle=0, n_cells=16 +DEAL::cycle=1, n_cells=43 +DEAL::cycle=2, n_cells=118 +DEAL::cycle=3, n_cells=334 +DEAL::cycle=4, n_cells=883 +DEAL::cycle=5, n_cells=2326 +DEAL::cycle=6, n_cells=6034 +DEAL::cycle=7, n_cells=10096 +DEAL::cycle=8, n_cells=10072 +DEAL::cycle=9, n_cells=10072 +DEAL::cycle=10, n_cells=10072 +DEAL::cycle=11, n_cells=10072 +DEAL::cycle=12, n_cells=10072 +DEAL::cycle=13, n_cells=10072 +DEAL::cycle=14, n_cells=10072 +DEAL::cycle=15, n_cells=10072 +DEAL::cycle=16, n_cells=10072 +DEAL::cycle=17, n_cells=10072 +DEAL::cycle=18, n_cells=10072 +DEAL::cycle=19, n_cells=10072 +DEAL::cycle=20, n_cells=10072 +DEAL::cycle=21, n_cells=10072 +DEAL::cycle=22, n_cells=10072 +DEAL::cycle=23, n_cells=10072 +DEAL::cycle=24, n_cells=10072 +DEAL::cycle=25, n_cells=10072 +DEAL::cycle=26, n_cells=10072 +DEAL::cycle=27, n_cells=10072 +DEAL::3d: +DEAL::cycle=0, n_cells=64 +DEAL::cycle=1, n_cells=316 +DEAL::cycle=2, n_cells=1611 +DEAL::cycle=3, n_cells=8114 +DEAL::cycle=4, n_cells=10081 +DEAL::cycle=5, n_cells=10081 +DEAL::cycle=6, n_cells=10081 -- 2.39.5