2015-12-19 5 views
1

Я использую tetgen, но у меня проблемы. Я хочу создать сетку, начиная с заданных треугольников поверхности. Я не хочу изменять данные треугольники. В частности, я работаю над доменом таким образом, что есть внешний кубический ящик с внутренним отверстием (коробка тоже). Треугольники I имеют внутренние и внешние поверхности. Я хочу построить сетку между двумя поверхностями. К счастью, я не преуспеваю.Tetgen: начиная с заданных треугольников поверхности, создайте новую сетку без изменения связности поверхности

Входной я использую такого типа:

  • число узлов, 3, 0, 1 (нет областей, но маркеры)

-lists узлов

  • количество фасетов, 1 (маркеры)

-lists of facets

  • 1 (1 отверстие)

-координаты дырки

  • 0 (нет область)

Список граней список треугольников и поверхности, внутренние и внешние. Я рассмотрел самую простую сетку для этого типа домена. И я уверен, что ввод, который я даю тетгену, «прав». Я показал его на матлабе, и он совпадает с тем, который я желаю. Наверное, то, чего я хочу, не то, чего хочет тетген ... Тем не менее, тетген находит пересекающиеся треугольники, которые не пересекаются. Они разделяют сторону, но я думаю, что грани могут разделять стороны! Или я ошибаюсь? Или, может быть, тот факт, что некоторые треугольники копланарны? Я думаю, что в моем входе что-то не так, концептуально говоря, но я не понимаю, что.

Когда я называю tetgen, я использую переключатель «-Y», чтобы избежать изменений на поверхности. Я попробовал как -p, так и -q переключатели, separetly или togheter. Но всегда происходит одна и та же ошибка. Может кто-нибудь мне помочь, пожалуйста?

спасибо.

ответ

0

Поскольку ваша геометрия ввода настолько проста, всего два вложенных куба, я считаю, что это не должно быть проблемой tetgen. Чтобы убедиться, что ваш вход правильный, сначала попробуйте опцию -d tetgen. Другой способ - использовать другие инструменты для создания ввода для tetgen, например Gmsh.