Как создать 2D-сетку FEM в Mathematica?


3

Для создания 3D-сетки TetGen можно легко использовать. Существуют ли подобные функции (или способ использования TetGen) для генерации сетки 2d? Я знаю, что такая функциональность может быть easily implemented, но я хотел бы использовать функцию Mathematica, поскольку мне нужно поэкспериментировать с количеством узлов в элементах и ​​так далее. Я просто хочу решить PDE с помощью FEM, чтобы не играть с созданием сетки.

+2

«DelaunayTriangulation» может представлять интерес. 26 авг. 132013-08-26 21:11:12

+1

Я думаю, что короткий ответ - нет, нет неотъемлемой возможности. Используйте один из алгоритмов в вопросе, который вы связываете, или генерируете извне и импортируете. Если по «количеству узлов» вы имеете в виду «отличные от треугольника», тогда внешние пакеты действительно являются способом выхода. 27 авг. 132013-08-27 03:12:14

3

Вы можете использовать TetGen и просто сделать ось z, которая установлена ​​в 0 (или любую другую константу). Проблема с DelaunayTriangulation (если вы хотите создать сетку из списка точек) состоит в том, что она возвращает список смежности ребер, который очень сложно превратить в многоугольники. This Нить описывает проблему с ней.

Добавление г одномерность 0 просто:

pts3d = Map[Append[#, 0]&, pts2d] 

А потом превратить 3d очки обратно в 2d:

newpts2d = pts3d[[All,1;;2]] 
  0

Я не уверен в использовании TetGen, так как он возвращает ненулевой код, когда задана плоскость. 27 авг. 132013-08-27 04:28:22

  0

@Mark, мне было бы очень интересно увидеть более полный пример, вы могли бы его предоставить? 28 авг. 132013-08-28 13:34:33

  0

Это не работает TetGenDelaunay [{1, 1, 0} # &/@ RandomReal [{0, 1}, {100, 3}]] ' 12 июн. 142014-06-12 03:33:56


1

Другой подход заключается в использовании пакет IMTEK в. Они имеют дело как с 2, так и с 3D с интерфейсами к треугольнику Шелчука и Tetgen соответственно.

Imtek может быть от the University of Freiburg. Документация обширна.


4

Так как функция Mathematica 10.3 ToElementMesh [] может использоваться вместе с решателем FEM. Подробнее см. this link