Hello, I am trying to merge two triangulations into a single one. However, I am getting the following error:
An error occurred in line <11736> of file </tmp/vinayak/spack-stage/spack-stage-dealii-9.4.2-4haiezd5dty7b537inhxmeebwxllx4gs/spack-src/source/grid/tria.cc> in function void dealii::Triangulation<<anonymous>, <anonymous> >::create_triangulation(const std::vector<dealii::Point<spacedim> >&, const std::vector<dealii::CellData<dim> >&, const dealii::SubCellData&) [with int dim = 1; int spacedim = 3] The violated condition was: !(correct(i, j) ^ (neighbor->direction_flag() == (*cell)->direction_flag())) Additional information: (none) I am using the dealii 9.4.0 version. I have attached the two triangulations that need to be merged and the .cc file to reproduce the error. Can someone help me with this? Thanks Vinayak -- The deal.II project is located at http://www.dealii.org/ For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en --- You received this message because you are subscribed to the Google Groups "deal.II User Group" group. To unsubscribe from this group and stop receiving emails from it, send an email to dealii+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/dealii/b1383a90-2c59-4245-b7df-adc8371ff638n%40googlegroups.com.
#include <iostream> #include <fstream> #include <cstdlib> #include <deal.II/grid/tria.h> #include <deal.II/grid/grid_in.h> #include <deal.II/grid/grid_tools.h> #include <deal.II/grid/grid_generator.h> using namespace dealii; int main() { Triangulation<1, 3> triangulation1; GridIn<1, 3> grid_in1; grid_in1.attach_triangulation(triangulation1); std::ifstream input_file1("triangulation1.vtk"); grid_in1.read_vtk(input_file1); Triangulation<1, 3> triangulation2; GridIn<1, 3> grid_in2; grid_in2.attach_triangulation(triangulation2); std::ifstream input_file2("triangulation2.vtk"); grid_in2.read_vtk(input_file2); // for (const auto &cell : triangulation2.active_cell_iterators()) // { // for (const auto c : cell->vertex_indices()) // { // Point<3> &v = cell->vertex(c); // std::cout << "vertex: " << v << std::endl; // } // } // for (const auto &cell : triangulation1.active_cell_iterators()) // { // for (const auto c : cell->vertex_indices()) // { // Point<3> &v = cell->vertex(c); // std::cout << "vertex: " << v << std::endl; // } // } GridGenerator::merge_triangulations(triangulation2, triangulation1, triangulation2); }
triangulation2.vtk
Description: Binary data
triangulation1.vtk
Description: Binary data