Tetgen: начиная с заданных треугольников поверхности, создайте новую сетку без изменения связности поверхности
Я использую тетген, но у меня проблемы. Я хочу создать сетку, исходя из заданных треугольников поверхности. Я не хочу менять данные треугольники. В частности, я работаю над доменом таким образом: есть внешний кубический ящик с внутренним отверстием (тоже ящик). У меня есть треугольники внутренней и внешней поверхностей. Я хочу построить сетку между двумя поверхностями. К сожалению, у меня ничего не получается.
Вход, который я использую, имеет такой тип:
- количество узлов, 3, 0, 1 (нет регионов, кроме маркеров)
-листы узлов
- количество граней, 1 (маркеры)
списки граней
- 1 (1 отверстие)
координаты дыры
- 0 (без региона)
Список граней - это список треугольников как поверхностей, так и внутренних. Я рассмотрел самую простую сетку для этого вида домена. И я уверен, что вклад, который я даю tetgen, "правильный". Я отобразил его на matlab, и он совпадает с желаемым. Вероятно, я хочу не то, что хочет тетген... Тем не менее, тетген находит пересекающиеся треугольники, которые не пересекаются. Они разделяют сторону, но я думаю, что грани могут разделять стороны! Или я не прав? Или, может быть, тот факт, что некоторые треугольники копланарны? Я думаю, что что-то не так с моей точки зрения, концептуально говоря, но я не понимаю, что.
Когда я вызываю tetgen, я использую переключатель "-Y", чтобы избежать изменений на поверхности. Я пробовал оба параметра -p и -q, отдельно или вместе. Но всегда возникает одна и та же ошибка. Может кто-нибудь помочь мне, пожалуйста?
Большое спасибо.
1 ответ
Поскольку ваша исходная геометрия очень проста, всего два вложенных куба, я считаю, что это не должно быть проблемой тетгена. Чтобы убедиться, что вы правильно вводите данные, попробуйте сначала опцию -d tetgen. Другой способ - использовать другие инструменты для создания ввода для tetgen, такие как Gmsh.