понедельник, 22 июня 2009 г.

Построение блочной сетки в ANSYS Icem CFD для топологически треугольных объектов

Очень часто в исследуемых объектах присутствуют топологически треугольные объекты. На первый взгляд при попытке построения блочной гексаэдрической сетки для таких объектов возникают области, в которых элементы сетки имеют острые углы. А, как известно, ячейки сетки с острыми углами, являются не желательными, для CFD анализа.Рассмотрим варианты создания блочной сетки для топологически треугольного объекта на примере призмы.Самым очевидным на первый взгляд вариантом описать топологически треугольный объект четырех угольным блоком является притяжка «лишних» Vertices’ов (углов блоков) к одной из сторон треугольника (поверхности призмы):

Однако, в этом случая, как уже и говорилось ранее, появляется зона с остроугольными элементами:

Как видим, качество сетки в этой зоне оставляет желать лучшего, при этом, чем выше будет сеточное разрешение объекта, тем острее будут углы элементов в «проблемной» области.После неудачной попытки «растянуть» параллелепипед на призму возникает желание воспользоваться инструментом Merge Vertices:

Чтобы в явном виде «превратить» исходный блок в призму «слив» два парных Vertices’а «схлопнув» одну из граней:

Однако и в этом случае мы сталкиваемся с проблемой остроугольных элементов появляющихся в вершине, в которой «слиты» два Vertices’а:

То есть данная сетка снова не пригодна для качественного CFD анализа. Есть быстрый способ превратить данную сетку в приемлемую для CFD исследования – воспользовавшись инструментом {Edit Block} >{Convert Block Type} >{Type – Y-Block}.

Данный инструмент позволяет нам получить так называемый Y-Блок – преобразовав исходный блок в три:

После этого мы назначаем характерный размер сеточного элемента и строим сетку:

Как видим в этом случае полученная сетка имеет отличное качество как поверхностных элементов так и внутренних, при этом форма сеточных элементов максимально приближена к форме гексаэдра.

В завершении приведу пример использования описанной методики для построения блочной сетки более сложного объекта:

И немного подробнее клиновидную часть объекта:


P.S. Вы можете публиковать информацию с данного источника. Единственное условие —ставьте работающую ссылку на мой блог и надпись «CFD для всех»

пятница, 19 июня 2009 г.

Ссылки

Добрый день,Здесь я буду по мере появления оставлять ссылки на ресурсы связанные с CFD.

Российские диллеры ANSYS:

http://delcam-ural.ru/

http://www.emt.ru/

Российский CFD продукт:

http://www.flowvision.ru/

Форумы по САПР:

http://www.sapr2k.ru/

Сеточные генераторы, и т.д:

http://www.grid-cfd.ru/

Полезные сайты по CFD (и не только)

http://www.procae.ru/

Рассылки:

http://feeds.feedburner.com/engitape

Буду рад Вашим подсказкам!

P.S. Вы можете публиковать информацию с данного источника. Единственное условие —ставьте работающую ссылку на мой блог и надпись «CFD для всех»

среда, 3 июня 2009 г.

Принцип построения структурированной гексаэдрической сетки в ANSYS Icem CFD

В настоящее время пользователи программного обеспечения ANSYS часто задают вопрос: «Когда требуется использование структурированной гексаэдрической сетки?». Пользователи ANSYS знают, что подготовка полностью структурированной сетки сложнее и занимает, для сложных криволинейных моделей, в несколько раз больше времени по сравнению с неструктурированной сеткой. Поэтому возникает вполне закономерный вопрос: «Насколько обосновано тратить больше времени на построение структурированной гексаэдрической сетки, если можно создать неструктурированную?»

Пакет ANSYS имеет множество приложений практически для всех областей современной науки и техники. При этом следует учитывать, что различные физические задачи требую различные подходы при моделировании и при создании расчетной сетки. В рамках данной статьи рассмотрим некоторые особенности построения сетки для задач гидро- газодинамики в одном из лучших в мире инструменте для её создания – в ANSYS ICEM CFD. ANSYS ICEM CFD отлично подходит для создания сетки для CFD приложений ANSYS – CFX либо FLUENT, однако следует учитывать, что общую логику построения сетки можно переносить и для других приложений, в том числе и для не ANSYS’овских.

Для начала разберемся с логикой создания сетки заложенной в ANSYS ICEM CFD. В ANSYS ICEM CFD заложены две возможности по созданию сетки – неструктурированная сетка и структурированная блочная условно гексаэдрическая сетка. В рамках данной статьи мы рассматриваем возможность создания именно структурированной блочной гексаэдрической сетки. Методика создания неструктурированной сетки и особенности ее построения мы рассмотрим в последующих статьях. Здесь же хотелось только упомянуть, что в текущей версии ANSYS ICEM CFD существует несколько методов построения объемной и поверхностной неструктурированной сетки. При этом каждый метод имеет несколько алгоритмов построения сетки. Комбинирую различные методы и алгоритмы построения сеток (как поверхностных, так и объемных), пользователь имеет в своих руках широчайший инструментарий по созданию неструктурированных сеток – от полностью автоматического до ручного создания отдельных элементов. В завершении отметим, что для простой геометрии можно получить неструктурированную сетку, не уступающую по качеству структурированной. Поэтому, говоря о преимуществах структурированной гексаэдрической сетки, мы, прежде всего, имеем ввиду сетку большой размерности, построенную на сложной криволинейной геометрии.

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


1 – структурированная гексаэдрическая сетка; 2 – неструктурированная сетка

Рис.1 Получение независящего от сетки решения для структурированной и неструктурированной сетки, где Ф – функция характеризующая зависимость сходимости решения дифференциальных уравнений от количества элементов сетки N.

Однако следует понимать, что на построение структурированной сетки понадобиться затратить большое количество «человеческого» времени при снижении «машинного». Таким образом, становиться очевидным вывод: структурированную сетку следует строить в случаях, когда лимитирующим фактором для получения решения является продолжительность вычислений, зависящая от возможностей CPU, размера оперативной памяти, объема свободного пространства на жестком диске и т.д. Такая ситуация возникает при моделировании работы однотипных устройств с большим количеством элементов сетки, например оптимизация работы устройства, когда проводиться ряд расчетов различный модификаций без принципиального изменения топологии геометрии. В этом случае необходимо единожды затратить время на создание сетки и затем экономить время при каждом последующем расчете.

Если же необходимо провести разовое моделирование геометрически сложного объекта, и при этом нет ограничений по ресурсам CPU то лучшим решением будет создание неструктурированной сетки.

Ну что же, теперь, разобравшись когда нам необходимо воспользоваться тем или иным методом построения сетки, хотелось бы дать несколько советов по подготовке сеточной модели для последующего импорта в решатели ANSYS.

Для начала выясним – так почему же структурированная гексаэдрическая сетка в ANSYS ICEM CFD называется блочной? Дело в том, что для создания структурированной сетки исходную геометрию необходимо описать с помощью блоков – прямоугольников для двухмерного и параллелепипедов для трехмерного случая. Проиллюстрируем это на рисунке. В качестве примера возьмем геометрию, представленную в учебных примерах для ANSYS ICEM CFD (рис. 2.а), так, вероятно, читателю будет легче воспроизвести и понять действия, описанные в статье.

Рис. 2 Исходная геометрия (2.а) и блочная структура для нее (2.б)

Для построения гексаэдрической сетки мысленно представляем исходную геометрию (рис. 2.а) в виде блоков (рис. 2.б). Для создания блочной структуры в ANSYS ICEM CFD существует огромный инструментарий, использование которого значительно облегчает создание блочной структуры. Так, например, в данном случае (см. рис. 2.б) вначале был создан общий блок BCF’G’ (Blocking >Create Block >2D Planar), затем исходный блок был разбит тремя линиями на 6 блоков (Blocking >Split Block). После этого блоки, отмеченные крестами, были удалены (Blocking >Delete Block).

При удалении блоков следует быть внимательным к выбору метода удаления блока – полное удаление (Delete permanently) или только перемещение блока в семейство VORFN – семейство блоков для которых не происходит построение сетки. Дело в том, что вокруг создаваемых блоков всегда существуют дополнительные блоки необходимые для осуществления взаимосвязи между ними. Эти дополнительные блоки можно увидеть, сделав видимым семейство VORFN (Parts >VORFN). При перемещении ненужных блоков в семейство VORFN изменения структуры блоков не происходит (рис. 3.а). При полном удалении блоков (Delete permanently) происходит кардинальное изменение семейства VORFN (рис. 3.б) и, следовательно, происходит изменение взаимосвязей между блоками. Часть блоков семейства VORFN преобразуется в «О-блоки» (о создании и применении «О-блоков» мы поговорим в следующей статье).

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

Рис. 3 Вид блочной структуры семейства VORFN (блоки выделенные черным цветом), в зависимости от метода удаления блоков: 3.a – перемещение в семейство VORFN, 3.б – полное удаление блоков

После того как мы получили набор блоков топологически соответствующий исходной геометрии, необходимо провести «ассоциацию» блоков и геометрии (Blocking >Blocking Associations). То есть определить, каким сторонам геометрии какие ребра блоков соответствуют. В рассматриваемом примере «ассоциация» блоков геометрии проводиться в соответствии с буквенной разметкой геометрии и блоков – ребро АВ «ассоциируется» со стороной AB, BC с BC и т.д. Таким образом, мы получаем набор блоков описывающих исходную геометрию (рис. 4). При этом точность описания будет определяться только мастерством пользователя и наличием у него свободного времени.


Рис. 4 Набор блоков описывающих исходную геометрию (стрелками показана ассоциация граней блоков геометрии)

Осталось только задать количество сеточных линий, или размер ячеек (Blocking >Pre-Mesh Params >Edge Params), и разбить полученные блоки на сетку. Результатом является предварительная (Pre-Mesh) сетка (рис. 5), которая затем может быть преобразована в сетку с учетом требуемого решателя.

Рис. 5 Полученная условно гексаэдрическая (прямоугольная для 2D случая) сетка.

Таким образом, проведя ряд несложных манипуляций, мы получили сетку из практически правильных прямоугольников. Далее можно проводить сгущения в нужных подобластях, создавать пограничный слой и т.д., в зависимости от специфики задачи и наших потребностей.

Надеюсь, что данная статья была Вам интересна, и Вы будете ждать последующие, совершенствуя свои навыки по созданию сетки.

С уважением

P.S. Вы можете публиковать информацию с данного источника. Единственное условие —ставьте работающую ссылку на мой блог и надпись «CFD для всех»