Возможен ли размер градиентной сетки в gmsh с файлами .stl без использования поля «Порог»?

Я создаю поликристаллические микроструктуры для моделирования пластичности кристаллов методом конечных элементов. Я использую программу DREAM.3D для экспорта файлов .stl, которые затем объединяются с помощью gmsh. Это работает хорошо, и я ранее использовал поле «Порог», как описано в учебнике «t10.geo», для локального управления размером сетки. Однако мне нужно создавать модели с градиентом размера сетки без снижения качества тетраэдрических элементов.

Эти модели содержат двойники отжига, которые представляют собой очень тонкие зерна в форме блинов и требуют адекватного представления небольших тетраэдрических элементов. Однако для создания моделей с разумным временем выполнения общее количество элементов не может быть чрезмерно большим. Поэтому было бы идеально создавать сетки, в которых размер элемента постепенно увеличивается к центру зерен. Помимо тонких двойников отжига, другие зерна в модели имеют сферическую форму, как показано здесь (примечание: это происходит до того, как вокселированная сетка преобразуется в файлы .stl в DREAM.3D):зерна образца в модели микроструктуры.

Основным сдерживающим фактором является то , что я не могу изменить треугольники на границах файла .stl , так как эти треугольники находятся в контакте с другими зерновыми , которые должны быть так же смыкались. Я прикрепил сюда (https://www.researchgate.net/post/Is_a_gradient_mesh_size_possible_in_gmsh_with_stl_files_without_using_a_Threshold_field) файл .stl для репрезентативной зернистости в моей модели микроструктуры и файлы .geo, используемые для создания двух файлов .stl, которые объединяют .stl-файл. В одном из них я не указываю размер ячейки и заканчивается 398426 тетраэдрическими элементами. В другом я указываю размер «фоновой» сетки, используя две дополнительные строки ниже, и заканчиваю 84322 тетраэдрическими элементами:

      Mesh.CharacteristicLengthExtendFromBoundary = 0;
Mesh.CharacteristicLengthMax = 10;

Здесь (насколько я понимаю) размер элемента «фон» указан равным 10.

Это значительно уменьшает общее количество элементов, что велико, но проблема в том, что тетраэдрические элементы на границе файла .stl содержат одну маленькую треугольную грань, но вытянуты по направлению к внутренней части зерна, чтобы соответствовать желаемому размеру элемента, как указано выше. , что снижает их качество. В идеале я мог бы 1) сохранить мелкие треугольные грани и маленькие тетраэдрические элементы на границах файлов .stl и 2) указать постепенно увеличивающийся размер сетки дальше от границ .stl. Поле «Порог», как показано в t10.geo, требует точки, в которой должна быть указана более мелкая сетка, поэтому теоретически это может сработать, потому что я могу указать центр каждого зерна ... но это быстро усложняется, потому что некоторые зерна могут быть вогнутые и имеют довольно сложную морфологию, поэтому я неНе думаю, что это возможно сделать с помощью поля «Порог».

Ниже приведены показатели качества элементов от gmsh:

Размер ячейки не указан

«Фоновая» ячейка размером 10

Есть ли способ указать размер сетки как функцию расстояния от границы .stl? Или, возможно, указать максимальный размер элемента, НО включить что-то, чтобы разбить более крупные, но сильно искаженные элементы на более мелкие элементы более высокого качества?

Заранее благодарим вас за помощь и дайте мне знать, если я смогу уточнить свою проблему.

С уважением, Крис

0 ответов

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