From f4375e962989c535e2f6830edafadc5e074963ef Mon Sep 17 00:00:00 2001 From: bangerth Date: Mon, 8 Oct 2012 02:38:53 +0000 Subject: [PATCH] New, failing test. git-svn-id: https://svn.dealii.org/trunk@26995 0785d39b-7218-0410-832d-ea1e28bc413d --- tests/fail/anisotropic_crash.cc | 68 ++++++++++++++ tests/fail/anisotropic_crash/cmp/generic | 110 +++++++++++++++++++++++ 2 files changed, 178 insertions(+) create mode 100644 tests/fail/anisotropic_crash.cc create mode 100644 tests/fail/anisotropic_crash/cmp/generic diff --git a/tests/fail/anisotropic_crash.cc b/tests/fail/anisotropic_crash.cc new file mode 100644 index 0000000000..dc7084c4dd --- /dev/null +++ b/tests/fail/anisotropic_crash.cc @@ -0,0 +1,68 @@ +//---------------------------- anisotropic_crash.cc --------------------------- +// anisotropic_crash.cc,v 1.1 2003/06/09 15:59:07 wolf Exp +// Version: +// +// Copyright (C) 2012 by the deal.II authors and Abner Salgado +// +// 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. +// +//---------------------------- anisotropic_crash.cc --------------------------- + + +// Trying to catch a bug in the construction of patches when +// there is anisotropic refinement + + +#include +#include +#include +#include + +#include +#include + +/// to generate random numbers +#include + +using namespace dealii; + +int main(){ + /// Create triangulation, DOF handler and finite element space + Triangulation<2> tri; + DoFHandler<2> dh( tri ); + FE_Q<2> fe(1); + GridGenerator::hyper_cube( tri ); + tri.refine_global( 2 ); + const unsigned n_cycles = 8; + for( unsigned i=0; i > vertices = tri.get_vertices(); + for( unsigned v=0; v< n_vert; ++v ){ + std::vector< DoFHandler<2>::active_cell_iterator > patch + = GridTools::find_cells_adjacent_to_vertex( dh, v ); + } + /// loop over cells and randomly refine + DoFHandler<2>::active_cell_iterator cell = dh.begin_active(), end = dh.end(); + for( ; cell != end; ++cell ){ + int random = rand()%4; + /// If random is 0 or 1 we cut x or y, resp. + if( random < 2 ) + cell->set_refine_flag( RefinementCase<2>::cut_axis( random ) ); + /// If random is 2 we refine isotropically + if( random == 2 ) + cell->set_refine_flag(); + /// If random is 3 we don't refine + } + /// refine the mesh + tri.prepare_coarsening_and_refinement(); + tri.execute_coarsening_and_refinement(); + } + dh.clear(); + return 0; +} diff --git a/tests/fail/anisotropic_crash/cmp/generic b/tests/fail/anisotropic_crash/cmp/generic new file mode 100644 index 0000000000..9494292a91 --- /dev/null +++ b/tests/fail/anisotropic_crash/cmp/generic @@ -0,0 +1,110 @@ + +DEAL::Checking Q1 in 1d: +DEAL::Checking Q1 in 2d: +DEAL::Checking Q1 in 3d: +DEAL::Checking Q2 in 1d: +DEAL::Checking Q2 in 2d: +DEAL::Checking Q2 in 3d: +DEAL::Checking Q3 in 1d: +DEAL::Checking Q3 in 2d: +DEAL::Checking Q3 in 3d: +DEAL::Checking DGQ0 in 1d: +DEAL::Checking DGQ0 in 2d: +DEAL::Checking DGQ0 in 3d: +DEAL::Checking DGQ1 in 1d: +DEAL::Checking DGQ1 in 2d: +DEAL::Checking DGQ1 in 3d: +DEAL::Checking DGQ3 in 1d: +DEAL::Checking DGQ3 in 2d: +DEAL::Checking DGQ3 in 3d: +DEAL::Checking DGP0 in 1d: +DEAL::Checking DGP0 in 2d: +DEAL::Checking DGP0 in 3d: +DEAL::Checking DGP1 in 1d: +DEAL::Checking DGP1 in 2d: +DEAL::Checking DGP1 in 3d: +DEAL::Checking DGP3 in 1d: +DEAL::Checking DGP3 in 2d: +DEAL::Checking DGP3 in 3d: +DEAL::Checking Nedelec1 in 2d: +DEAL::Checking Nedelec1 in 3d: +DEAL::Checking RaviartThomas0 in 2d: +DEAL::4 +DEAL::1 +DEAL:cg::Starting value 1.2 +DEAL:cg::Convergence step 10 value 0 +DEAL::L2_Error : 0 +DEAL::Checking RaviartThomas1 in 2d: +DEAL::8 +DEAL::2 +DEAL:cg::Starting value 1.4 +DEAL:cg::Convergence step 12 value 0 +DEAL::L2_Error : 0 +DEAL::Checking RaviartThomas2 in 2d: +DEAL::12 +DEAL::2 +DEAL:cg::Starting value 1.4 +DEAL:cg::Convergence step 14 value 0 +DEAL::L2_Error : 0 +DEAL::Checking RaviartThomasNodal0 in 2d: +DEAL::4 +DEAL::1 +DEAL:cg::Starting value 0.49 +DEAL:cg::Convergence step 10 value 0 +DEAL::L2_Error : 0 +DEAL::Checking RaviartThomasNodal1 in 2d: +DEAL::8 +DEAL::2 +DEAL:cg::Starting value 0.29 +DEAL:cg::Convergence step 12 value 0 +DEAL::L2_Error : 0 +DEAL::Checking RaviartThomasNodal2 in 2d: +DEAL::12 +DEAL::3 +DEAL:cg::Starting value 0.23 +DEAL:cg::Convergence step 16 value 0 +DEAL::L2_Error : 0 +DEAL::Checking RaviartThomasNodal0 in 3d: +DEAL::16 +DEAL::1 +DEAL:cg::Starting value 0.47 +DEAL:cg::Convergence step 9 value 0 +DEAL::L2_Error : 0 +DEAL::Checking RaviartThomasNodal1 in 3d: +DEAL::64 +DEAL::4 +DEAL:cg::Starting value 0.20 +DEAL:cg::Convergence step 12 value 0 +DEAL::L2_Error : 0 +DEAL::Checking RaviartThomasNodal2 in 3d: +DEAL::144 +DEAL::9 +DEAL:cg::Starting value 0.13 +DEAL:cg::Convergence step 15 value 0 +DEAL::L2_Error : 0 +DEAL::Checking FE_Q<1>(1)3 in 1d: +DEAL::Checking FE_DGQ<1>(2)2 in 1d: +DEAL::Checking FE_DGP<1>(3)1 in 1d: +DEAL::Checking FE_Q<2>(1)3 in 2d: +DEAL::Checking FE_DGQ<2>(2)2 in 2d: +DEAL::Checking FE_DGP<2>(3)1 in 2d: +DEAL::Checking FE_Q<3>(1)3 in 3d: +DEAL::Checking FE_DGQ<3>(2)2 in 3d: +DEAL::Checking FE_DGP<3>(3)1 in 3d: +DEAL::Checking FE_Q<1>(1)3FE_DGQ<1>(2)2 in 1d: +DEAL::Checking FE_DGQ<1>(2)2FE_DGP<1>(3)1 in 1d: +DEAL::Checking FE_DGP<1>(3)1FE_DGQ<1>(2)2 in 1d: +DEAL::Checking FE_Q<2>(1)3FE_DGQ<2>(2)2 in 2d: +DEAL::Checking FE_DGQ<2>(2)2FE_DGP<2>(3)1 in 2d: +DEAL::Checking FE_DGP<2>(3)1FE_DGQ<2>(2)2 in 2d: +DEAL::Checking FE_Q<1>(1)3FE_DGP<1>(3)1FE_Q<1>(1)3 in 1d: +DEAL::Checking FE_DGQ<1>(2)2FE_DGQ<1>(2)2FE_Q<1>(3)3 in 1d: +DEAL::Checking FE_DGP<1>(3)1FE_DGP<1>(3)1FE_Q<1>(2)3 in 1d: +DEAL::Checking FE_Q<2>(1)3FE_DGP<2>(3)1FE_Q<2>(1)3 in 2d: +DEAL::Checking FE_DGQ<2>(2)2FE_DGQ<2>(2)2FE_Q<2>(3)3 in 2d: +DEAL::Checking FE_DGP<2>(3)1FE_DGP<2>(3)1FE_Q<2>(2)3 in 2d: +DEAL::Checking FE_DGQ<3>(1)3FE_DGP<3>(3)1FE_Q<3>(1)3 in 3d: +DEAL::Checking (FESystem<2>(FE_Q<2>(1),3))3FE_DGQ<2>(0)1FE_Q<2>(1)3 in 2d: +DEAL::Checking FE_DGQ<2>(3)1FESystem<2>(FE_DGQ<2>(0),3)1FESystem<2>(FE_Q<2>(2),1, FE_DGQ<2>(0),1)2 in 2d: +DEAL::Checking FE_DGQ<2>(3)1FE_Nedelec<2>(1)2 in 2d: +DEAL::Checking FE_Nedelec<2>(1)1FESystem<2>(FE_DGQ<2>(1),2)1FESystem<2>(FE_Q<2>(2),1, FE_Nedelec<2>(1),2)2 in 2d: -- 2.39.5