logo desc

В этой статье речь пойдёт о расчётной сетке. Во FlowVision применяется структурированная локально-адаптивная сетка с преобладанием шестигранных ячеек. Расчётная сетка строится в автоматическом режиме, а точность разрешения сеткой геометрической модели любой сложности обеспечивается с помощью технологии подсеточного разрешения геометрии.

Если краткой характеристики вам недостаточно, читайте ответы на 5 самых популярных вопросов о расчётной сетке FlowVision:

    1. Как построить расчётную сетку во FlowVision? 
    2. Что такое "адаптация" расчётной сетки? 
    3. Как оценивать качество сетки во FlowVision? 
    4. У меня сложная геометрическая модель. Как сетка FlowVision сможет обеспечить точность расчёта в приграничных ячейках? 
    5. Расчётная сетка и подвижные тела - как они взаимодействуют в процессе расчёта? 

Во FlowVision применяется структурированная локально-адаптивная сетка с подсеточным разрешением геометрии с преобладанием шестигранных ячеек

Главная особенность расчётной сетки FlowVision - быстрота её построения. Пользователю достаточно лишь указать количество сеточных линий по каждому координатному направлению декартовой системы координат (для построения однородной сетки) или в редакторе начальной сетки указать размер ячейки и опорные линии сгущения (для построения неоднородной сетки). После программа оперативно построит сетку в автоматическом режиме.

i 1Однородная сетка (слева) и неоднородная сетка со сгущением вблизи профиля (справа)

Чтобы локально уточнить решение с помощью измельчения ячеек сетки используются адаптации. Адаптировать сетку во FlowVision можно по поверхности или в объёме геометрических объектов и граничных условий, а также в зависимости от величины ключевых параметров задачи. Для этого используется адаптация по условию и адаптация к решению. Адаптация может не только измельчать сетку, но и убирать разбиение ячеек (вплоть до начального уровня) - это называется слитием. Слитие адаптации позволяет использовать динамическую, изменяющуюся в процессе расчёта, адаптацию. Такой подход позволяет разрешать (то есть измельчать), на протяжении всего расчёта только области с интересующими величинами параметров, экономя при этом вычислительные ресурсы: в тех областях, где адаптация будет уже не нужна, она сольётся.

Более точно разрешить вязкий пограничный слой позволяет приповерхностная сетка. Эта технология позволяет добиться подробного измельчения сетки в области пристеночного слоя вместе со значительной экономией вычислительных ресурсов по сравнению с трехмерной адаптацией.

Может показаться, что измельчение расчётной сетки - необходимое и достаточное условие получение точного решения в cfd решателях. Но для FlowVision это не всегда так. Например, используя модель зазора, становится возможным получить точное решение в узких каналах и зазорах без разрешения их сеткой. 

Как построить расчётную сетку во FlowVision? 

Задать начальную сетку в FlowVision не составит труда. Сетка построится автоматически по указанным вами параметрам: количеству линий равномерного разбиения по направлениям декартовой СК или размеру ячеек и положению линий сгущения.

Убедитесь сами в удобстве построения сетки - посмотрите видео о работе в редакторе начальной сетки. 

После построения начальной сетки, вы можете локально измельчать её для уточнения результатов с помощью адаптаций или задать приповерхностную сетку: она строится на основе существующей в момент построения основной сетки и не изменяется в процессе расчёта. 

Для локальных и параллельных (через MPI) вычислений построение начальной сетки требует разных подходов 

Для расчётов на локальном компьютере можно задать укрупнённую начальную сетку, и дальше, в процессе счёта, локально измельчать её. При этом, чтобы добиться требуемого размера ячейки вблизи поверхности, может потребоваться высокий уровень адаптации (6-8й).

Для расчёта через MPI, наоборот, рекомендуется задавать более мелкую начальную сетку и рекомендуется использовать адаптацию не больше 3-4 уровня. Это объясняется тем, что распределение расчетной сетки по процессорам происходит по начальной сетке, и локальное измельчение может выпасть на долю одного процессора, неравномерная загрузка процессоров будет тормозить параллельный расчёт. Но даже в этом случае во FlowVision предусмотрена функция динамической балансировки, которая перераспределяет ячейки по процессорам, обеспечивая им одинаковую степень загруженности.

Что такое "адаптация" расчётной сетки? 

Адаптация сетки - это разделение ячеек сетки на более мелкие, используемое для локального уточнения решения.

Адаптация может быть использована в тех областях расчётной области, в которых необходимо уточнить решение: например, в пристеночном слое или в областях повышенных градиентов и т.д. Во FlowVision можно адаптировать сетку :

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

При включении стандартной 3D адаптации расчётные ячейки начального уровня разбиваются пополам по всем трём направлениям, в результате образуется 8 ячеек меньшего размера. Ячейки начальной сетки имеют 0 уровень адаптации. При единичном разбиении начальной сетки образуются ячейки 1-го уровня адаптации, и далее уровень адаптации последовательно увеличивается.

3 Ячейка 0 адаптируется до 3 уровня адаптации

Адаптация - это не только разбиение, но и объединение ячеек в более крупные (но не больше размера начальной ячейки 0 уровня адаптации). Во FlowVision это называется слитием.

Комбинация периодического слития и измельчения сетки с помощью адаптации по условию позволяет задавать во FlowVision динамическую адаптацию. Так становится возможным разрешать сеткой только области, требующими уточнения решения с помощью сетки, а адаптация в остальной части расчётной области в процессе решения сливается за ненадобностью.adapt gif

Динамическая адаптация по величине плотности при сверхзвуковом обтекании клина: используем адаптацию по условию + слитие

Как оценивать качество сетки во FlowVision? 

Качество сетки оценивается при проведении исследования сходимости решения по сетке.

По нашему мнению, у расчётной сетки есть только один критерий качества - качественный результат. Удостовериться в качестве получаемого результата можно только после проведения исследования сходимости решения по сетке. Его суть заключается в том, что ячейки расчётной сетки последовательно измельчаются (то есть адаптируются), и для каждого уровня адаптации определяется величина контролируемого параметра и, соответственно, изменение этой величины в зависимости от размера ячеек.

При адаптации сетки 1 уровнем, величина контролируемого параметра может измениться на 20-30%! Но при последующих адаптациях эта разница будет становиться всё меньше и меньше, и в один момент решение перестанет зависеть от степени измельчения сетки - именно такая сетка и позволит получить качественный результат. 

Удобнее и быстрее проводить исследование сходимости по сетке в двумерной постановке задачи, и после полученную в результате адаптаций сетку использовать для 3D расчёта

У меня сложная геометрическая модель. Как сетка FlowVision сможет обеспечить точность расчёта в приграничных ячейках? 

Точное повторение расчётной сеткой поверхности геометрической модели обеспечивается с помощью метода подсеточного разрешения.

Метод подсеточного разрешения применим к геометрии любой степени сложности и детализации. Подсеточное разрешение не упрощает геометрию модели, а изменяет только форму окружающей модель ячейки. Модель вычитается из автоматически сгенерированной сетки, и в каждой граничной ячейке проводится аппроксимация потоков величин через каждую грань ячейки. Поэтому приграничная ячейка отличается от обычной только тем, что у неё не 6 граней, а больше: это зависит от сложности геометрии. 

cell debug3

Ячейки, образованные при вычитании геометрической модели из расчётной сетки. Форма ячейки зависит от сложности геометрии

Самое сложное в методе подсеточного разрешения геометрии - решить уравнения в приграничных ячейках, имеющих замысловатые формы. Но наши разработчики успешно справляются с этой задачей c помощью метода конечно-объёмной аппроксимации уравнений. Подробнее о том, каким образом FlowVision удаётся работать с геометрией любой сложности, можно узнать в одном из наших вебинаров от технического директора FlowVision - Андрея Александровича Аксёнова. 

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

Расчётная сетка и подвижные тела - как они взаимодействуют в процессе расчёта? 

Во FlowVision используется подход Эйлера к построению сетки: расчётная сетка неподвижна, а тело движется по ней.

falling ball

Демонстрация подхода Эйлера: "подвижное тело" движется по расчётной сетке 

На каждой итерации происходит сначала изменение положения модели по заданному закону движения и далее - вычитание модели из расчётной сетки. В процессе движения ячейки расчётной сетки то исчезают. В этом и заключается основная сложность реализации такого подхода. Но тот факт, что сетка не привязана к геометрии модели позволяет задавать абсолютно произвольное движение тела и моделировать полный контакт поверхностей. При движении сетка перестраивается только вблизи подвижного тела, а не во всём объёме расчётной области - что оптимизирует расчёт по вычислительным ресурсам.

Больше информации об особенностях построения сетки для решения задач с движущимися телами во FlowVision можно увидеть в записи вебинара.

Подвижные тела и адаптация 

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

moving_body_merge

След избыточной адаптации за движущимся кубиком. Чтобы оптимизировать расчётную сетку используйте слитие.

Сливать след из адаптации лучше периодично, а не на каждом шаге. Частое слитие также расходует вычислительные ресурсы, как и лишняя адаптация за подвижным телом