From 5095027e6e68e1e0a35987150d5652979120c82a Mon Sep 17 00:00:00 2001 From: Martin Kronbichler Date: Sat, 8 May 2021 12:19:28 +0200 Subject: [PATCH] Add test case --- .../copy_serial_tria_12.cc | 72 +++++++++++++++++++ .../copy_serial_tria_12.mpirun=1.output | 2 + 2 files changed, 74 insertions(+) create mode 100644 tests/fullydistributed_grids/copy_serial_tria_12.cc create mode 100644 tests/fullydistributed_grids/copy_serial_tria_12.mpirun=1.output diff --git a/tests/fullydistributed_grids/copy_serial_tria_12.cc b/tests/fullydistributed_grids/copy_serial_tria_12.cc new file mode 100644 index 0000000000..d07ad85552 --- /dev/null +++ b/tests/fullydistributed_grids/copy_serial_tria_12.cc @@ -0,0 +1,72 @@ +// --------------------------------------------------------------------- +// +// Copyright (C) 2021 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.md at +// the top level directory of deal.II. +// +// --------------------------------------------------------------------- + + +// Create a serial triangulation with empty cell_info fields and copy it. + +#include + +#include +#include +#include + +#include + +#include +#include +#include +#include +#include + +#include "./tests.h" + +using namespace dealii; + +template +void +test(MPI_Comm comm) +{ + // create serial triangulation + Triangulation basetria; + GridGenerator::hyper_cube(basetria); + + // create instance of pft + parallel::fullydistributed::Triangulation tria_pft(comm); + + // extract relevant information form serial triangulation + auto construction_data = + TriangulationDescription::Utilities::create_description_from_triangulation( + basetria, comm); + + // create some empty levels to imitate empty levels on some MPI processes + construction_data.cell_infos.resize(basetria.n_levels() + 2); + + // actually create triangulation + tria_pft.create_triangulation(construction_data); + + // if everything went fine, we do not have bugs inside the library + deallog << "OK" << std::endl; +} + +int +main(int argc, char *argv[]) +{ + Utilities::MPI::MPI_InitFinalize mpi_initialization(argc, argv, 1); + mpi_initlog(); + + const MPI_Comm comm = MPI_COMM_WORLD; + + test<2>(comm); +} diff --git a/tests/fullydistributed_grids/copy_serial_tria_12.mpirun=1.output b/tests/fullydistributed_grids/copy_serial_tria_12.mpirun=1.output new file mode 100644 index 0000000000..0fd8fc12f0 --- /dev/null +++ b/tests/fullydistributed_grids/copy_serial_tria_12.mpirun=1.output @@ -0,0 +1,2 @@ + +DEAL::OK -- 2.39.5