logo desc

В статье речь пойдет о новом функционале FlowVision 3.12.01 - возможности выбора способа задания начальных условий (НУ) и модификаторов. Ранее при добавлении в проект НУ и модификаторов в объёме объекта, их область действия превышала объём этого объекта. Чтобы сгладить границу действия и минимизировать погрешности, приходилось измельчать расчётную сетку у поверхности объекта. Теперь, когда появились новые способы добавления НУ и Модификаторов, в этом нет необходимости.

Использование новых способов добавления позволяет не только повысить точность расчёта, но и в некоторых случаях избежать развала решения.

Как было раньше?

Начнём с описания того, как во FlowVision ранее задавались НУ и модификаторы.

В прошлых версиях, если на Объекте задавались НУ или модификаторы (кроме Подвижного тела), то область их действия распространялась на все ячейки, которые хотя бы частично пересекались Объектом. Очевидно, что область действия НУ и модификаторов была больше, чем сам Объект, на котором они заданы.

Закрашенные ячейки – это область действия НУ и модификаторов, заданных на Объекте.

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

Как сейчас во Flowvision 3.12?

Если раньше способ задания был только один, то начиная с версии 3.12.01, появилась возможность выбора. Вместо одного способа -  их целых три:

  1. Замена в полном объеме
  2. Замена в обрезанном объеме
  3. А третий способ имеет отличие для НУ и Модификаторов:
  • Добавление в обрезанном объеме (только для модификаторов)
  • Осреднение в обрезанном объеме (только для НУ)

Давайте разберемся, как работает каждый из этих способов.

Способ 1 - Замена в полном объёме

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

При открытии проектов, созданных в ранних версия FlowVision, НУ и модификаторы будут добавлены в полном объёме ячеек.

Результат использования способа "замена в полном объёме"

Способ 2 - Замена в обрезанном объеме

По названию способа нетрудно догадаться – теперь можно задавать НУ и модификаторы в объёме, точно совпадающем с объёмом Объекта. 

Результат использования способа вставки "замена в обрезанном объёме"

Все из-за того, что теперь FlowVision иначе задает значения в граничных ячейках, частично затронутых Объектом. 

В приграничных ячейках (Vcell) значения НУ или модификатора вычисляются пропорционально объему, занятому Объектом в ячейке (переменная Vobj на картинке).

 Чем больший объем ячейки попал в объем Объекта, тем больший вес у значения, заданного в НУ или модификаторе. И наоборот, чем меньше объем ячейки, который пересекается с объёмом Объекта, тем меньший вес у значения. Более подробное описание и используемые формулы можно найти в документации.

Способ 3 - Добавление/осреднение в обрезанном объеме

Третий способ вставки также учитывает объём захваченной приграничной ячейки, но для задания НУ и Модификаторов в приграничных ячейках используются разные формулы:

  • НУ добавляются как осреднение в обрезанном объёме = (fold + fnew) / 2.
    (fold) - значение в ячейке, пересеченной объектом, до вставки НУ, (fnew) - значение, заданное в Окне свойств НУ.
  • модификаторы - добавление в обрезанном объёме = (fold) + (fnew). 
    (fold) - значение в ячейке, пересеченной объектом, до вставки модификатора, (fnew) - значение, заданное в Окне свойств модификатора.

Более понятным станет логика работы этих способов, если взглянуть на результат их работы:

Более подробные формулы с учетом объема ячейки – читайте в документации.

Особенности задания на плоскости/линии/датчике

Если НУ или модификаторы заданы на объектах типа Плоскость, Линия или Набор датчиков – будет отрабатывать первый способ – Замена в полном объеме. Это обусловлено тем, что данные Объекты не обладают собственным объемом и являются двумерными.

Порядок вставки в расчётную область 

Раньше порядок добавления НУ и модификаторов в расчётную область зависел только от расположения в дереве проекта. Добавление осуществлялось последовательно от самого верхнего в дереве проекта к самому нижнему.

Начальные условия

Теперь если в проекте задано несколько НУ на пересекающихся объектах, то порядок вставки в расчётную область будет зависеть от способа задания НУ.

  • замена в полном объёме или замена в обрезанном объёме: значения для ячеек будут взяты из НУ, находящего ниже в дереве проекта.
  • осреднение в обрезанном объёме: значения в пересечённых объектом ячейках вычисляются как среднее арифметическое из значений, заданных в НУ.

Модификаторы

Для модификаторов порядок добавления также зависит от способа.

  •  замена в полном объёме или замена в обрезанном объёме: значения для ячеек будут взяты из модификатора, находящего ниже в дереве проекта.
  • добавление в обрезанном объёме: значения в пересечённых объектом ячейках вычисляются как сумма значений, заданных в модификаторах.

Что еще нового и полезного в интерфейсе?

Автоматическое определение объема действия Модификатора

Раньше, чтобы определить объём, который занимает модификатор, необходимо было создавать Характеристику на объекте. Результат отображается в окне info или можно вывести его в Окно мониторинга с помощью Пользовательского критерия останова.

В версии 3.12.01, чтобы не выполнять вышеописанные действия, в Окне свойств модификатора появилась величина объёма, занятого модификатором. Кроме объёме модификатора выводится и среднее значение , вносимое модификатором - f<об.>. Работать стало ещё удобнее! Теперь можно следить за изменением этих величин в ходе расчёта.

Пример из туториала

Для описания нового функционала рассмотрим пример из учебника FlowVision – свободная струя. В обучающем примере моделируется движение свободной струи в поле силы тяжести. 

Рассмотрим область входа жидкости в расчётную область – трубку. Здесь необходимо задать начальное распределение для переменной VOF.

Будем применять разные способы добавления НУ и наблюдать как изменится поле вставки переменных из НУ.

Замена в полном объёме

Поле VOF распространилось на все ячейки, которые хоть немного пересечены параллелепипедом. Из-за этого вода появилась вне трубы. Чтобы этого избежать придется уменьшать Объект до тех пор, пока неточность (появление воды вне трубы) не исчезнет.

Замена в обрезанном объёме

Если использовать новый способ задания НУ, то данные будут добавлены точно по границе параллелепипеда. 

Заключение

В статье были описаны основные нововведения, касающиеся задания начальных условия и модификаторов. Надеемся, что статья была полезна и помогла понять принцип работы новых способов. Ну а если у Вас остались вопросы или необходима помощь в применении нового функционала, то Вы знаете куда обращаться, - support@flowvision.ru.