В этой статье речь пойдёт о расчётной сетке. Во FlowVision применяется структурированная локально-адаптивная сетка с преобладанием шестигранных ячеек. Расчётная сетка строится в автоматическом режиме, а точность разрешения сеткой геометрической модели любой сложности обеспечивается с помощью технологии подсеточного разрешения геометрии.
Если краткой характеристики вам недостаточно, читайте ответы на 5 самых популярных вопросов о расчётной сетке FlowVision:
-
- Как построить расчётную сетку во FlowVision?
- Что такое "адаптация" расчётной сетки?
- Как оценивать качество сетки во FlowVision?
- У меня сложная геометрическая модель. Как сетка FlowVision сможет обеспечить точность расчёта в приграничных ячейках?
- Расчётная сетка и подвижные тела - как они взаимодействуют в процессе расчёта?
Во FlowVision применяется структурированная локально-адаптивная сетка с подсеточным разрешением геометрии с преобладанием шестигранных ячеек
Главная особенность расчётной сетки FlowVision - быстрота её построения. Пользователю достаточно лишь указать количество сеточных линий по каждому координатному направлению декартовой системы координат (для построения однородной сетки) или в редакторе начальной сетки указать размер ячейки и опорные линии сгущения (для построения неоднородной сетки). После программа оперативно построит сетку в автоматическом режиме.
Однородная сетка (слева) и неоднородная сетка со сгущением вблизи профиля (справа)
Чтобы локально уточнить решение с помощью измельчения ячеек сетки используются адаптации. Адаптировать сетку во FlowVision можно по поверхности или в объёме геометрических объектов и граничных условий, а также в зависимости от величины ключевых параметров задачи. Для этого используется адаптация по условию и адаптация к решению. Адаптация может не только измельчать сетку, но и убирать разбиение ячеек (вплоть до начального уровня) - это называется слитием. Слитие адаптации позволяет использовать динамическую, изменяющуюся в процессе расчёта, адаптацию. Такой подход позволяет разрешать (то есть измельчать), на протяжении всего расчёта только области с интересующими величинами параметров, экономя при этом вычислительные ресурсы: в тех областях, где адаптация будет уже не нужна, она сольётся.
Более точно разрешить вязкий пограничный слой позволяет приповерхностная сетка. Эта технология позволяет добиться подробного измельчения сетки в области пристеночного слоя вместе со значительной экономией вычислительных ресурсов по сравнению с трехмерной адаптацией.
Может показаться, что измельчение расчётной сетки - необходимое и достаточное условие получение точного решения в cfd решателях. Но для FlowVision это не всегда так. Например, используя модель зазора, становится возможным получить точное решение в узких каналах и зазорах без разрешения их сеткой.
Как построить расчётную сетку во FlowVision?
Задать начальную сетку в FlowVision не составит труда. Сетка построится автоматически по указанным вами параметрам: количеству линий равномерного разбиения по направлениям декартовой СК или размеру ячеек и положению линий сгущения.
Убедитесь сами в удобстве построения сетки - посмотрите видео о работе в редакторе начальной сетки.
После построения начальной сетки, вы можете локально измельчать её для уточнения результатов с помощью адаптаций или задать приповерхностную сетку: она строится на основе существующей в момент построения основной сетки и не изменяется в процессе расчёта.
Для локальных и параллельных (через MPI) вычислений построение начальной сетки требует разных подходов
Для расчётов на локальном компьютере можно задать укрупнённую начальную сетку, и дальше, в процессе счёта, локально измельчать её. При этом, чтобы добиться требуемого размера ячейки вблизи поверхности, может потребоваться высокий уровень адаптации (6-8й).
Для расчёта через MPI, наоборот, рекомендуется задавать более мелкую начальную сетку и рекомендуется использовать адаптацию не больше 3-4 уровня. Это объясняется тем, что распределение расчетной сетки по процессорам происходит по начальной сетке, и локальное измельчение может выпасть на долю одного процессора, неравномерная загрузка процессоров будет тормозить параллельный расчёт. Но даже в этом случае во FlowVision предусмотрена функция динамической балансировки, которая перераспределяет ячейки по процессорам, обеспечивая им одинаковую степень загруженности.
Что такое "адаптация" расчётной сетки?
Адаптация сетки - это разделение ячеек сетки на более мелкие, используемое для локального уточнения решения.
Адаптация может быть использована в тех областях расчётной области, в которых необходимо уточнить решение: например, в пристеночном слое или в областях повышенных градиентов и т.д. Во FlowVision можно адаптировать сетку :
- по поверхности или в объёме геометрических объектов (в том числе дополнительно адаптировать острые углы и криволинейные поверхности - зоны где течение изменяется и возникают большие градиенты),
- по поверхности граничных условий,
- а также в областях больших градиентов параметров или с определённой величиной выбранного параметра.
При включении стандартной 3D адаптации расчётные ячейки начального уровня разбиваются пополам по всем трём направлениям, в результате образуется 8 ячеек меньшего размера. Ячейки начальной сетки имеют 0 уровень адаптации. При единичном разбиении начальной сетки образуются ячейки 1-го уровня адаптации, и далее уровень адаптации последовательно увеличивается.
Ячейка 0 адаптируется до 3 уровня адаптации
Адаптация - это не только разбиение, но и объединение ячеек в более крупные (но не больше размера начальной ячейки 0 уровня адаптации). Во FlowVision это называется слитием.
Комбинация периодического слития и измельчения сетки с помощью адаптации по условию позволяет задавать во FlowVision динамическую адаптацию. Так становится возможным разрешать сеткой только области, требующими уточнения решения с помощью сетки, а адаптация в остальной части расчётной области в процессе решения сливается за ненадобностью.
Динамическая адаптация по величине плотности при сверхзвуковом обтекании клина: используем адаптацию по условию + слитие
Как оценивать качество сетки во FlowVision?
Качество сетки оценивается при проведении исследования сходимости решения по сетке.
По нашему мнению, у расчётной сетки есть только один критерий качества - качественный результат. Удостовериться в качестве получаемого результата можно только после проведения исследования сходимости решения по сетке. Его суть заключается в том, что ячейки расчётной сетки последовательно измельчаются (то есть адаптируются), и для каждого уровня адаптации определяется величина контролируемого параметра и, соответственно, изменение этой величины в зависимости от размера ячеек.
При адаптации сетки 1 уровнем, величина контролируемого параметра может измениться на 20-30%! Но при последующих адаптациях эта разница будет становиться всё меньше и меньше, и в один момент решение перестанет зависеть от степени измельчения сетки - именно такая сетка и позволит получить качественный результат.
Удобнее и быстрее проводить исследование сходимости по сетке в двумерной постановке задачи, и после полученную в результате адаптаций сетку использовать для 3D расчёта
У меня сложная геометрическая модель. Как сетка FlowVision сможет обеспечить точность расчёта в приграничных ячейках?
Точное повторение расчётной сеткой поверхности геометрической модели обеспечивается с помощью метода подсеточного разрешения.
Метод подсеточного разрешения применим к геометрии любой степени сложности и детализации. Подсеточное разрешение не упрощает геометрию модели, а изменяет только форму окружающей модель ячейки. Модель вычитается из автоматически сгенерированной сетки, и в каждой граничной ячейке проводится аппроксимация потоков величин через каждую грань ячейки. Поэтому приграничная ячейка отличается от обычной только тем, что у неё не 6 граней, а больше: это зависит от сложности геометрии.
Ячейки, образованные при вычитании геометрической модели из расчётной сетки. Форма ячейки зависит от сложности геометрии
Самое сложное в методе подсеточного разрешения геометрии - решить уравнения в приграничных ячейках, имеющих замысловатые формы. Но наши разработчики успешно справляются с этой задачей c помощью метода конечно-объёмной аппроксимации уравнений. Подробнее о том, каким образом FlowVision удаётся работать с геометрией любой сложности, можно узнать в одном из наших вебинаров от технического директора FlowVision - Андрея Александровича Аксёнова.
Вот так в FlowVision удобство автоматической генерации сетки объединяется с точным подсеточным разрешением и даёт качественный результат
Расчётная сетка и подвижные тела - как они взаимодействуют в процессе расчёта?
Во FlowVision используется подход Эйлера к построению сетки: расчётная сетка неподвижна, а тело движется по ней.
Демонстрация подхода Эйлера: "подвижное тело" движется по расчётной сетке
На каждой итерации происходит сначала изменение положения модели по заданному закону движения и далее - вычитание модели из расчётной сетки. В процессе движения ячейки расчётной сетки то исчезают. В этом и заключается основная сложность реализации такого подхода. Но тот факт, что сетка не привязана к геометрии модели позволяет задавать абсолютно произвольное движение тела и моделировать полный контакт поверхностей. При движении сетка перестраивается только вблизи подвижного тела, а не во всём объёме расчётной области - что оптимизирует расчёт по вычислительным ресурсам.
Больше информации об особенностях построения сетки для решения задач с движущимися телами во FlowVision можно увидеть в записи вебинара.
Подвижные тела и адаптация
Чтобы разрешить пристеночный слой тела (не важно движущегося или нет) удобно и рационально по части вычислительных ресурсов использовать адаптацию сетки по поверхности этого тела. Но если просто адаптировать поверхность тела в процессе движения, то за ним всегда будет оставаться след из адаптации (как на картинке ниже). Убрать лишнюю адаптацию поможет слитие.
След избыточной адаптации за движущимся кубиком. Чтобы оптимизировать расчётную сетку используйте слитие.
Сливать след из адаптации лучше периодично, а не на каждом шаге. Частое слитие также расходует вычислительные ресурсы, как и лишняя адаптация за подвижным телом