From: Wolfgang Bangerth Date: Tue, 14 Apr 2015 01:41:47 +0000 (-0500) Subject: Add another test, this time for parallel triangulations. X-Git-Tag: v8.3.0-rc1~274^2 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=264d2cb01330a7cdd65f223e77b960c076839aaf;p=dealii.git Add another test, this time for parallel triangulations. --- diff --git a/tests/mpi/active_cell_index_01.cc b/tests/mpi/active_cell_index_01.cc new file mode 100644 index 0000000000..6fbfc6ddbf --- /dev/null +++ b/tests/mpi/active_cell_index_01.cc @@ -0,0 +1,76 @@ +// --------------------------------------------------------------------- +// +// Copyright (C) 2010 - 2015 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. +// +// --------------------------------------------------------------------- + + + +// check that cell->active_cell_index() works as advertised + +#include "../tests.h" + +#include +#include +#include +#include +#include +#include +#include + +#include + + + +template +void check (const parallel::distributed::Triangulation &tria) +{ + unsigned int index = 0; + for (typename Triangulation::active_cell_iterator cell=tria.begin_active(); + cell!=tria.end(); ++cell, ++index) + AssertThrow (cell->active_cell_index() == index, ExcInternalError()); + + AssertThrow (index == tria.n_active_cells(), ExcInternalError()); + AssertThrow (index >= tria.n_locally_owned_active_cells(), ExcInternalError()); +} + + + + + +template +void check () +{ + parallel::distributed::Triangulation tria(MPI_COMM_WORLD); + GridGenerator::hyper_cube (tria); + tria.refine_global (3); + + DoFHandler dof_handler (tria); + + check (tria); + + if (Utilities::MPI::this_mpi_process (MPI_COMM_WORLD) == 0) + deallog << "OK for " << dim << "d" << std::endl; +} + + +int main (int argc, char *argv[]) +{ + Utilities::MPI::MPI_InitFinalize mpi_initialization(argc, argv, 1); + MPILogInitAll log; + + check<2> (); + check<3> (); +} + + + diff --git a/tests/mpi/active_cell_index_01.mpirun=3.output b/tests/mpi/active_cell_index_01.mpirun=3.output new file mode 100644 index 0000000000..cef4e0057d --- /dev/null +++ b/tests/mpi/active_cell_index_01.mpirun=3.output @@ -0,0 +1,7 @@ + +DEAL:0::OK for 2d +DEAL:0::OK for 3d + + + +