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

В этой статье мы познакомим вас с этим функционалом, который способен существенно упростить жизнь пользователю.

Во FlowVision задать величину перменной можно несколькими способами, а именно с помощью:

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

Мы рассмотрим второй способ задания величины переменной - с помощью формулы. 

Возможности редактора формул

Редактор формул - это компонента Пре-Постпроцессора, с помощью которого во FlowVision осуществляется работа с формулами. Формулами можно задавать значения для переменных из Свойств веществ, Граничных условий, Начальных условий, Модификаторов, Пользовательских переменных и т.д. В качестве эксперимента Вы можете открыть проект FlowVision и пробежаться по дереву проекта. Окажется, что формулами можно задавать практически всё – от вектора гравитации до закона движения Подвижного тела.

На самом деле, Редактор формул позволяет не только вычислять значения переменных по заданным формулам, но и предоставляет широкий набор уже встроенных и готовых к использованию функций. Это набор превосходит базовые возможности инженерного калькулятора и содержит более сложные и актуальные для CFD-инженера опции. Также в редакторе формул можно программировать свои нетривиальные функции, используя широкий спектр операций, в том числе логических, статистических и внешних. 

Арсенал Редактора формул

Чтобы создать зависимость, по которой вычисляется величина переменной, необходимо 1) выбрать переменные, из которых состоит функция; 2) связать их операциями. Разберём подробно каждый из этих шагов.

ПЕРЕМЕННЫЕ И КОНСТАНТЫ

При конструировании формул могут быть использованы переменные нескольких типов (более подробно это описано в документации). В окне редактора формул Переменные и константы содержится шесть вкладок. 

Определившись с нужными нам переменными, перейдем к рассмотрению способов, как эти переменные мы можем обрабатывать.

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

Во-вторых, чтобы получилась формула, к переменным нужно применить операции.

ОПЕРАЦИИ

Окно Операции содержит вкладки с различными наборами функций. Рассмотрим, что лежит в каждой из них (либо прочитайте об этом в документации):

Полезные примеры. Часто используемые формулы

Конечно, с помощью формул Вы можете задать какую угодно сложную функцию для вычисления переменной. Но мы хотим рассказать про некоторые полезные приёмы, связанные с Редактором формул. Лидерами по важности применения  в расчётах являются случаи, когда необходимо:

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

Почему это важно делать советуем прочитать в статье про опорные величины. При задании визуализации слоёв переменные Температура и Давление будут отображаться в относительных величинах - это разность между абсолютной  и опорной величиной. Чтобы в шкале слоя отображать абсолютная величина создайте пользовательскую переменную, и задайте формулу: 

В Редакторе формул в окне Переменные и константы  Все > Общие или Все > Фаза N найдем переменную Температура, дважды кликнем мышью.  Аналогично поступим со второй переменной – Интегральные > Встроенные характеристики > Опорная температура.

Обратите внимание, что в формуле можно дать комментарии, поставив в начале //.

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

Задать зависимость переменной от шага по времени или от текущего времени расчета

Бывает, что если в процессе расчёта сразу задать требуемое значение переменной, то решение становится нестабильным. В этом случае задавать переменную можно плавно – в зависимости от шага или времени. Также задавать зависимость от шага удобно использовать при таком важном этапе проектной работы, как исследование сходимости по сетке. К примеру, вначале адаптация отключена или её уровень невысок (максимальный уровень = 0-1). А затем расчётчик постепенно начинает мельчить сетку, добиваясь неизменности результатов при увеличении числа контрольных объемов. Вместо того чтобы делать это вручную, можно просто задать формулу, причем разными способами. 

Либо так:

В обоих случаях задается увеличение уровня адаптации на 1 каждые 1500 шагов. В окно Мониторинга можно вывести контролируемые параметры и смотреть, как они изменяются в зависимости от уровня адаптации. Кстати, помимо формул для этой же задачи можно использовать таблицу – задать с её помощью переменную Максимальный уровень адаптации.

ДРУГИЕ ПОЛЕЗНЫЕ ПРИМЕРЫ

Также эту переменную часто используют при задании адаптации по условию.

Небольшое отступление про пользовательские переменные

Чаще всего Редактор формул используются именно при задании пользовательских переменных - Локальных, Глобальных и Констант. Локальные пользовательские переменные вычисляются в каждой ячейки расчётной области, а глобальные усредняются во всём пространстве. Именно поэтому при задании глобальных пользовательских переменных (именно их можно выводить в окно мониторинга) нельзя использовать ранее созданные Локальные переменные.

ЗАКЛЮЧЕНИЕ

Очень сложно описать в одной статье все возможности применения Редактора формул, так как он охватывает весь функционал FlowVision. Поэтому если у вас возникнут какие-то конкретные вопросы, то пишите нам в тех. поддержку (support@flowvision.ru), мы вам ответим, а может ещё и напишем новую статью или дополним текущую.