Tetgen: начиная с заданных треугольников поверхности, создайте новую сетку без изменения связности поверхности

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

Вход, который я использую, имеет такой тип:

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

-листы узлов

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

списки граней

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

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

  • 0 (без региона)

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

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

Большое спасибо.

1 ответ

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

Другие вопросы по тегам