Error while importing mesh with two solids

24 views
Skip to first unread message

Jiahao Ba

unread,
May 23, 2024, 9:07:10 AM5/23/24
to deal.II User Group
hello

I encountered difficulties importing a mesh model with two parts. The error message is shown below.

An error occurred in line <2594> of file </home/kkl/workspace/dealii/tmp/unpack/deal.II-v9.5.2/source/grid/tria.cc> in function
Static void deali:: internal: TriangulationImplementation:: Implementation:: process_subcelldata (const deali:: internal: TriangulationImplementation: CRS<T>&, Dealii: internal: TriangulationImplementation: TriaObjects&, const std:: vector<dealii: CellData<dim>>&, const std:: vector<dealii: Point<spacedim>>&) [with int structdim=2; int spacedim = 3; T = unsigned int]
The violated condition was:
boundary_id != numbers::internal_face_boundary_id

I find that deleting the units on the interal face between two solids can solve this problem, but I would like to know if there are any other solutions.
input.msh
test.cpp

Wolfgang Bangerth

unread,
May 23, 2024, 12:48:55 PM5/23/24
to dea...@googlegroups.com

Jiahoa:

> I find that deleting the units on the interal face between two solids
> can solve this problem, but I would like to know if there are any other
> solutions.

The problem is that you are setting a boundary indicator for a face that
is not actually at the boundary. This can't work. As you found out,
deleting the part of the input file that sets these boundary indicators
works; I don't know whether there is a more elegant way short of telling
the mesh generator to not put boundary information into the mesh file
for faces that are not actually on the boundary.

Best
W.
Reply all
Reply to author
Forward
0 new messages