From c3476b2fb9cce5fb7d057d8d6edfe8ee6c82dff0 Mon Sep 17 00:00:00 2001 From: heister Date: Sat, 23 Nov 2013 20:31:46 +0000 Subject: [PATCH] add failing test git-svn-id: https://svn.dealii.org/trunk@31775 0785d39b-7218-0410-832d-ea1e28bc413d --- tests/mpi/crash_05.cc | 91 ++++++++++++++++++++++++++++++ tests/mpi/crash_05.mpirun=2.output | 2 + 2 files changed, 93 insertions(+) create mode 100644 tests/mpi/crash_05.cc create mode 100644 tests/mpi/crash_05.mpirun=2.output diff --git a/tests/mpi/crash_05.cc b/tests/mpi/crash_05.cc new file mode 100644 index 0000000000..dc58e13408 --- /dev/null +++ b/tests/mpi/crash_05.cc @@ -0,0 +1,91 @@ +// --------------------------------------------------------------------- +// $Id$ +// +// Copyright (C) 2008 - 2013 by the deal.II authors +// +// This file is part of the deal.II library. +// +// The deal.II library is free software; you can use it, redistribute +// it, and/or modify it under the terms of the GNU Lesser General +// Public License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// The full text of the license can be found in the file LICENSE at +// the top level of the deal.II distribution. +// +// --------------------------------------------------------------------- + + + +// test hits an exception in hanging_node constraints when using RT elements in parallel +// reported by francesco.cattoglio on the mailing list on 2013/11/22 +/* +905: -------------------------------------------------------- +905: An error occurred in line <1898> of file in function +905: void dealii::ConstraintMatrix::add_line(dealii::ConstraintMatrix::size_type) +905: The violated condition was: +905: line != numbers::invalid_size_type +905: The name and call sequence of the exception was: +905: ExcInternalError() +905: Additional Information: +905: (none) +905: -------------------------------------------------------- +*/ + +#include "../tests.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + + +template +void test() +{ + parallel::distributed::Triangulation triangulation(MPI_COMM_WORLD); + GridGenerator::hyper_ball(triangulation); + + if (Utilities::MPI::this_mpi_process(MPI_COMM_WORLD) == 0) + { + typename Triangulation::active_cell_iterator + cell = triangulation.begin_active(); + //cell->set_refine_flag (); + (++cell)->set_refine_flag (); + } + + triangulation.execute_coarsening_and_refinement(); + deallog << "n_cells: " << triangulation.n_global_active_cells() << std::endl; + FE_RaviartThomas fe(0); // crashing + //FESystem fe(FE_Q(1), 2); // working + DoFHandler dof_handler(triangulation); + + dof_handler.distribute_dofs(fe); + + ConstraintMatrix constraints; + DoFTools::make_hanging_node_constraints(dof_handler, constraints); + + if (Utilities::MPI::this_mpi_process (MPI_COMM_WORLD) == 0) + deallog << "OK" << std::endl; +} + + +int main(int argc, char *argv[]) +{ + Utilities::MPI::MPI_InitFinalize mpi_initialization(argc, argv, 1); + MPILogInitAll log; + + test<2>(); + +} diff --git a/tests/mpi/crash_05.mpirun=2.output b/tests/mpi/crash_05.mpirun=2.output new file mode 100644 index 0000000000..f445833684 --- /dev/null +++ b/tests/mpi/crash_05.mpirun=2.output @@ -0,0 +1,2 @@ + +DEAL:2d::OK -- 2.39.5