После некоторой математики, связанной со стабильностью элементов в трехмерной задаче Стокса, я был немного шокирован, когда понял, что не является устойчивым для произвольной тетраэдрической сетки. Точнее, если у вас есть элемент, в котором все узлы и три из четырех граней лежат на границе области с условием Дирихле, вы в конечном итоге получите особую матрицу. На самом деле это довольно тривиально, чтобы сделать вывод из слабой формы системы Стокса.
Я протестировал единственный коммерческий код Стокса, к которому у меня есть доступ (COMSOL), и он позволил мне создать такую сетку. После нажатия кнопки «Решить» я получаю сообщение об ошибке «Ошибка: единичная матрица». (У меня сложилось впечатление, что COMSOL использует для своего модуля ползучего потока.)
Для дальнейшего тестирования, что проблема не была связана с другими конфигурациями, я попробовал следующую сетку, и все работает как ожидалось.
Вопросы: Учитывается ли этот тип ограничений в (адаптивных или неадаптивных) генераторах сетки? Я вижу из различных исследовательских работ, что этот элемент кажется довольно популярным. Являются ли такого рода граничные нестабильности вообще игнорируемыми как незначительные при выборе метода для использования? Что еще более важно, что на самом деле означает иметь стабильный конечный элемент , т. Е. Какого рода сетчато-зависимые нестабильности слишком велики, чтобы мы пришли к выводу, что метод плох?
Ответы:
Сетчатые генераторы обычно имеют возможность справиться с этим, например, 2D сетки генератор
bamg
изfreefem++
имеет-splitpbedge
вариант , который добавляет узел в середине любого ребра , имеющего оба конца на границе. Согласноbamg
документации, генерация неструктурированной сетки может вернуть такие треугольники.источник