Hello everyone.
I'm getting an error when importing msh files in deal.II with GridIn::read_msh().
- Divided in two squares 1x1, both uniformly meshed, transfinite, with different granularity
const std::string filename = "mesh.msh";
std::ifstream input_file(filename);
Triangulation<2> triangulation;
GridIn<2> grid_in;
grid_in.attach_triangulation(triangulation);
grid_in.read_msh(input_file);
I experience this error:
terminate called after throwing an instance of 'dealii::StandardExceptions::ExcMessage'
what():
--------------------------------------------------------
An error occurred in line <2594> of file </usr/src/dealii-v9.5.0/source/grid/tria.cc> in function
static void dealii::internal::TriangulationImplementation::Implementation::process_subcelldata(const dealii::internal::TriangulationImplementation::CRS<T>&, dealii::internal::TriangulationImplementation::TriaObjects&, const std::vector<dealii::CellData<dim> >&, const std::vector<dealii::Point<spacedim> >&) [with int structdim = 1; int spacedim = 2; T = unsigned int]
The violated condition was:
boundary_id != numbers::internal_face_boundary_id
Additional information:
The input arguments for creating a triangulation specified a boundary
id for an internal face. This is not allowed.
The object in question has vertex indices 1,40, which are located at
positions (1 0)(1 0.25).
Of course, I defined as physical curves only two edges at the boundary.
Can anybody help me to fix the issue please?
I attach the simple script to reproduce the error, together with the .geo and .msh files, as well as the CMakeLists to compile the code.
Thanks in advance.