From 51d40bd48bff090e626d2b430d05d217919cdd7b Mon Sep 17 00:00:00 2001 From: bangerth Date: Thu, 24 Feb 2011 02:38:22 +0000 Subject: [PATCH] Add a test that currently fails so that I can look at it at home. git-svn-id: https://svn.dealii.org/trunk@23443 0785d39b-7218-0410-832d-ea1e28bc413d --- tests/hp/fe_nothing_12.cc | 126 +++++++++++++++++++++++++++++ tests/hp/fe_nothing_12/cmp/generic | 95 ++++++++++++++++++++++ 2 files changed, 221 insertions(+) create mode 100644 tests/hp/fe_nothing_12.cc create mode 100644 tests/hp/fe_nothing_12/cmp/generic diff --git a/tests/hp/fe_nothing_12.cc b/tests/hp/fe_nothing_12.cc new file mode 100644 index 0000000000..db420b41c7 --- /dev/null +++ b/tests/hp/fe_nothing_12.cc @@ -0,0 +1,126 @@ +//---------------------------- fe_nothing_12.cc --------------------------- +// $Id$ +// Version: $Name$ +// +// Copyright (C) 2009, 2011 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. +// +//---------------------------- fe_nothing_12.cc --------------------------- + + +// check the case where the two children on a face with a hanging node +// have different FENothing structure: + +// active_fe_index +// *-----*--*--* +// | | 1| 1| +// | 0 *--*--* +// | | 0| 0| +// *-----*--*--* + + +#include "../tests.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#include + + +template +void test () +{ + Triangulation triangulation; + std::vector sub(dim, 1); + sub[dim-1] = 2; + + GridGenerator::subdivided_hyper_rectangle (triangulation, sub, Point(), Point()); + triangulation.begin_active()->set_refine_flag(); + triangulation.execute_coarsening_and_refinement(); + + hp::FECollection fe_collection; + fe_collection.push_back (FESystem(FE_Q(1), 1, + FE_Nothing(), 1)); + fe_collection.push_back (FESystem(FE_Nothing(), 1, + FE_Q(1), 1)); + + hp::DoFHandler dof_handler (triangulation); + + dof_handler.begin_active()->set_active_fe_index(1); + typename hp::DoFHandler::active_cell_iterator + cell = dof_handler.begin_active(1), + endc = dof_handler.end(); + for (; cell!=endc; ++cell) + if (cell->index() % 2 == 0) + cell->set_active_fe_index (0); + else + cell->set_active_fe_index (1); + + dof_handler.distribute_dofs (fe_collection); + + ConstraintMatrix constraints; + + DoFTools::make_hanging_node_constraints (dof_handler, constraints); + + constraints.close(); + + deallog << " Number of constraints: " + << constraints.n_constraints() + << std::endl; + { + typename hp::DoFHandler::active_cell_iterator + cell = dof_handler.begin_active(), + endc = dof_handler.end(); + + for(; cell != endc; cell++) + { + deallog << cell << ' ' << cell->active_fe_index() << std::endl + << " "; + std::vector local_dof_indices (cell->get_fe().dofs_per_cell); + cell->get_dof_indices (local_dof_indices); + + for (unsigned int i=0; iget_fe().dofs_per_cell; ++i) + deallog << local_dof_indices[i] + << (constraints.is_constrained(local_dof_indices[i]) ? + "*" : "") + << ' '; + deallog << std::endl; + } + } +} + + + +int main () +{ + std::ofstream logfile("fe_nothing_12/output"); + logfile.precision(2); + + deallog.attach(logfile); + deallog.depth_console(0); + deallog.threshold_double(1.e-10); + + test<2> (); + + deallog << "OK" << std::endl; +} diff --git a/tests/hp/fe_nothing_12/cmp/generic b/tests/hp/fe_nothing_12/cmp/generic new file mode 100644 index 0000000000..a048c60600 --- /dev/null +++ b/tests/hp/fe_nothing_12/cmp/generic @@ -0,0 +1,95 @@ + +DEAL::8 dofs +DEAL::0 0 +DEAL::1 0 +DEAL::24 dofs +DEAL::0 0 +DEAL::1 0 +DEAL::2 0 +DEAL::3 0 +DEAL::4 0 +DEAL::5 0 +DEAL::8 0 +DEAL::9 0 +DEAL::10 0 +DEAL::11 0 +DEAL::14 0 +DEAL::15 0 +DEAL::16 0 +DEAL::17 0 +DEAL::18 0 +DEAL::19 0 +DEAL::20 0 +DEAL::21 0 +DEAL::22 0 +DEAL::23 0 +DEAL::72 dofs +DEAL::0 0 +DEAL::1 0 +DEAL::2 0 +DEAL::3 0 +DEAL::4 0 +DEAL::5 0 +DEAL::6 0 +DEAL::7 0 +DEAL::8 0 +DEAL::9 0 +DEAL::10 0 +DEAL::11 0 +DEAL::12 0 +DEAL::13 0 +DEAL::16 0 +DEAL::17 0 +DEAL::18 0 +DEAL::19 0 +DEAL::20 0 +DEAL::21 0 +DEAL::22 0 +DEAL::23 0 +DEAL::24 0 +DEAL::25 0 +DEAL::26 0 +DEAL::27 0 +DEAL::30 0 +DEAL::31 0 +DEAL::32 0 +DEAL::33 0 +DEAL::34 0 +DEAL::35 0 +DEAL::36 0 +DEAL::37 0 +DEAL::38 0 +DEAL::39 0 +DEAL::40 0 +DEAL::41 0 +DEAL::42 0 +DEAL::43 0 +DEAL::44 0 +DEAL::45 0 +DEAL::46 0 +DEAL::47 0 +DEAL::48 0 +DEAL::49 0 +DEAL::50 0 +DEAL::51 0 +DEAL::52 0 +DEAL::53 0 +DEAL::54 0 +DEAL::55 0 +DEAL::56 0 +DEAL::57 0 +DEAL::58 0 +DEAL::59 0 +DEAL::60 0 +DEAL::61 0 +DEAL::62 0 +DEAL::63 0 +DEAL::64 0 +DEAL::65 0 +DEAL::66 0 +DEAL::67 0 +DEAL::68 0 +DEAL::69 0 +DEAL::70 0 +DEAL::71 0 +DEAL::OK -- 2.39.5