Эта статья является логическим продолжением первой статьи про технологию VOF.
Сегодня мы продолжаем знакомить вас с технологией объёма фазы. Мы разберемся, как инициализировать VOF, и дадим рекомендации по построению сетки и её адаптации. Всё, о чем мы сегодня расскажем, применительно также и к моделированию границы раздела сплошных фаз. О дисперсных фазах мы поговорим в одной из следующих статей.
Инициализация VOF
Для решения любой задачи необходимо определить начальные условия – распределение физических величин в начальный момент времени. Если объём занят полностью одним веществом, то VOF = 1, если занят вторым веществом – VOF = 0. На практике промежуточные значения в ячейках не задаются при определении начального распределения фазы.
Ниже пошагово описывается процесс инициализации переменной VOF:
Граница раздела жидкости и вакуума
Вакуум – фаза без физических процессов, созданная для упрощения расчетов. Физический смысл «Вакуума» заключается в том, что давление на свободной поверхности принимается равным давлению на границе со стороны сплошной Фазы. Ячейки в «вакууме» являются нерасчетными.
Фазу Вакуум стоит задавать, когда нет необходимости рассчитывать взаимодействие двух фаз (смешение, образование капель, испарение и т.д.). В иных случаях нужно задавать обе фазы.
Давайте рассмотрим задачу, в которой процессы, протекающие в одной из фаз, малозначительны для нас. Например, задача про обрушение плотины из нашего учебника, в которой нас будет интересовать только поведение жидкости. Поэтому процессы, протекающие в газовой фазе, можно не моделировать, заменив их «пустой» фазой.
Алгоритм инициализации фазы в задаче со свободной поверхностью:
- В Веществе задать Агрегатное состояние = Жидкость.
- В свойствах Вещества обязательно задать значение Плотности.
- Необходимо создать две Фазы, в одну из Фаз добавить Вещество и включить расчет уравнения Движения, а другую Фазу оставить пустой
- Добавить обе Фазы в одну Модель, при этом первой по списку должна стоять Фаза с Движением, а второй – пустая Фаза. Фазы нужно располагать по убыванию плотности. Это необходимо для повышения устойчивости решения.
- Задать соответствующие граничные условия для переменной VOF и обязательно задать где-либо в расчетной области начальное значение VOF=1.
Пример:
- Задаём в начальных условиях значение VOF = 1 для жидкости.
- Создаём объект (например Параллелепипед), в котором будут действовать заданные начальные условия:
- В Подобласти присваиваем Начальные условия созданному Параллелепипеду:
-
Для визуализации VOF строится одноименный слой по Пространству.
- Необходимо использовать шаг по времени не больше, чем Поверхностное CFL = 5. При существенных изменениях формы свободной поверхности следует использовать шаг, соответствующий Поверхностное CFL = 1.
Выбор шага по времени мы рассмотрим более подробно в следующей статье.
Граница раздела жидкостей или жидкости с газом
- Создать два Вещества, задать Агрегатные состояния Жидкость/Жидкость или Жидкость/Газ.
- В свойствах Веществ обязательно задать значения Плотности или расчет Плотности по закону идеального газа.
- Создать две Фазы, в каждую Фазу добавить соответствующее Вещество и включить расчет уравнения Движения.
- Добавить обе Фазы в одну Модель, при этом первой по списку должна стоять Фаза с большей плотностью Вещества в ней.
- Задать соответствующие граничные условия для переменных VOF для каждой Фазы, обязательно задать где-либо в расчетной области начальное значение VOF = 1.
- Использовать шаг по времени не больше, чем Поверхностное CFL = 5. При существенных изменениях формы свободной поверхности следует использовать шаг, соответствующий Поверхностное CFL = 1.
Специальные настройки для способа определения начальных условий на границе объектов
В приведенном выше примере мы задавали начальные условия, действующие в объекте. Однако можно применить 3 разных способа задания начальных условий в ячейках: Замена в полном объёме, Замена в обрезанном объёме и Осреднение в обрезанном объёме. На картинке ниже показана разница при использовании этих способов.
- Замена в полном объёме (a): полная замена имеющихся значений VOF в ячейке, как находящейся полностью внутри Объекта, так и частично затронутой Объектом;
- Замена в обрезанном объёме (б): замена имеющихся значений VOF в ячейке пропорционально объему, занятому Объектом внутри ячейки (способ аналогичен Замена в полном объеме во всех ячейках, за исключением граничных ячеек, частично попадающих в объем Объекта);
- Осреднение в обрезанном объёме (в): осреднение значений VOF, заданных начальными условиями, со значениями VOF, уже имеющимися внутри ячеек, пропорционально объему, занятому Объектом внутри ячейки.
Пример: допустим, ячейка на границе раздела фаз наполовину заполнена жидкостью (VOF = 1), тогда в этой ячейке при использовании способа:
- Замена в полном объёме: VOF = 1 (ячейка полностью заполнена жидкостью);
- Замена в обрезанном объёме: VOF = 0.5 (ячейка наполовину заполнена жидкостью);
- Осреднение в обрезанном объёме: значение VOF рассчитывается согласно формуле:
Где f – функция VOF;
Vcell – объем ячейки; Vobj – объем объекта.
Таким образом, значение функции VOF осредняется с уже заданным внутри ячейки объемом другой фазы. То есть, для корректной работы осреднения, необходимо задать два Начальных условия – первое будет заполнять «вакуумом» все пространство, а второе – осреднять значение VOF в объеме объекта (параллелепипеда). Также стоит помнить, что для осреднения необходимо включить моделирование VOF-частиц.
Более подробно с вычислениями значений VOF при использовании этих методов Вы можете ознакомиться в документации.
Впуск фазы в расчётную область
Отдельного внимания заслуживает случай, когда одна из фаз поступает в расчётную область.
Чтобы гарантированно обеспечить затекание фазы нужно заключить Граничное условие входа в небольшой объект с начальным объёмом поступающей фазы, при этом само граничное условие должно иметь некоторое значение скорости и VOF = 1. Рекомендуется использовать способ вставки начальных условий Замена в обрезанном объёме.
Если не инициализировать объём фазы около входного граничного условия, возможна такая ситуация, когда относительное изменение объёма фазы будет так мало, что поверхность фазы не будет двигаться в процессе счёта и жидкость не будет поступать в расчётную область.
Создание сетки
В этом параграфе мы расскажем о наиболее важных аспектах адаптации сетки при моделировании границы раздела фаз.
Для отслеживания изменения границы раздела фаз рекомендуется дополнительно разрешать её расчётной сеткой. Для этого идеально подходит задание адаптации по условию в зависимости от переменной VOF.
Задание адаптации по условию VOF: создайте адаптацию по условию, в качестве объекта используйте Пространство. В Окне свойств нужно задать Диапазон значений VOF: если значение VOF в ячейке будет находится в заданном диапазоне, то она будет адаптироваться.
Если мы хотим проадаптировать границу раздела, то диапазон должен быть между 0 и 1, не включая границ. Диапазон работы условия зависит от уровня обрезки VOF (данный параметр регулируется в Доп. Настройках Солвера). В промежутке [0.0001; 0.9999], адаптация будет применяться ко всем ячейкам, в которых относительный объем фазы VOF больше 0.0001, но не равен 1:
Важно! При использовании адаптации по условию VOF, нельзя указывать значения диапазона [0.0001; 0.9999] в качестве способа вставки начального условия Замена в полном объёме, поскольку в этом случае не будет ячеек с VOF, принадлежащих диапазону [0.0001; 0.9999], и адаптация не сработает.
Важно! Если поверхность раздела фаз переместилась далеко от начального положения, то сетка, через которую прошла граница фаз, останется измельченной, несмотря на то, что поверхности раздела там уже нет. Слитие сетки нужно настраивать отдельно: необходимо создать адаптацию слития (Расчётная сетка > Адаптация):
Важно! Для получения физичных результатов моделирования границы раздела необходимо обеспечить на её пути неизменный размер ячеек на протяжении всего расчёта. Для этого необходимо:
- в предположении, что начальная сетка во всем объеме расчетной области достаточно грубая, задавать несколько слоёв адаптации по условию VOF (например, 2 или больше), если граница раздела перемещается слишком быстро;
- использовать адаптацию на первых шагах (далее её можно отключить) внутри объекта, описывающего границу раздела, причём крайне желательно, чтобы уровень адаптации и соотношение слоёв было таким же, как и в адаптации по условию VOF. Если фаза поступает в расчётную область, то на первом шаге нужно проадаптировать внутри объекта, которое включает Граничное условие входа.
Введение дополнительной адаптации внутри объекта на первых шагах необходимо для минимизации численной погрешности, связанной с бесконечно малым изменением объёма Фазы в ячейке за шаг по времени. Эта погрешность может привести к некорректному учёту изменения объёма жидкости (потери консервативности масс). При измельчении сетки вблизи свободной поверхности за один шаг по времени изменение фазы будет более существенным. Более подробно про консервативность и модель VOF можно прочитать в документации.
Заключение
В данной статье Вы углубились в работу свободной поверхности во FlowVision: познакомились со способами задания VOF; научились правильно задавать шаг по времени и начальные условия; адаптировать расчетную сетку по условию VOF.
Более подробно про задание шага по времени и другие фишки при работе с VOF, Вы узнаете в нашей будущей, заключительной статье про VOF.
Если у Вас возникли вопросы по использованию технологии VOF в Вашей задаче, пишите на почту support@flowvision.ru.