Диссертация (1150462), страница 18
Текст из файла (страница 18)
например,[4]). Для остальных уравнений применялся предобуславливатель SGS (Symmetric Gauss-Seidel),в котором матрица M определяется следующим образом.M ( D L) D 1 ( D U ) ,A L D U(4.35)Здесь D – матрица, содержащая только диагональные элементы матрицы A, L и U –нижняя и верхняя треугольные (без диагонали) части.Для ускорения вычислений проводилось распараллеливание расчетов путем разбиениярасчетной области на соприкасающиеся блоки примерно равного размера (технология “domaindecomposition”).
В рамках данной технологии для решения уравнений, описывающих движениесреды внутри каждого блока, создается отдельный процесс, оперирующий своим наборомданных в оперативной памяти и выполняющийся на отдельном процессорном ядре. Дляобеспечения связности численного решения производятся обмены данными между блоками.При этом важно обеспечить «прозрачность» границ, то есть разбиение расчетной области наблоки не должно сказаться на получаемом решении.
Поскольку разбиение расчетной областипроводится по граням ячеек, для «прозрачности» границ требуется, чтобы потоки величин92через грани, по которым проходит граница соседних блоков, были одинаковыми для смежныхячеек, находящихся в разных блоках. В коде Flag-S (и его «наследнике» Flag-FS) этообеспечивается следующим образом. Для каждого из блоков создается ряд «заграничных»ячеек, повторяющих соседние ячейки из смежного блока (см. рисунок 4.20).Блок 1Блок 2Блок 1«Заграничные»ячейкиБлок 2передачиданныхРисунок 4.20. Передача данных при стыковке блоковПоскольку в рамках реализованных в коде численных схем второго порядка длявычисления потока величины через смежную грань двух ячеек необходимо знать лишьзначения самой величины и ее градиента в центрах этих ячеек, то для обеспечения«прозрачности» необходимо передать лишь значения величин и градиентов из приграничныхячеек каждого блока в соответствующие «заграничные» ячейки соседних блоков. При этомнеобходимо учитывать, что при вычислении градиента величины в ячейке сетки необходимоиспользовать значения этой величины из соседних ячеек.
В силу этого обстоятельства передачаданных между блоками осуществляется в два этапа: сначала передаются значения величин, покоторым в каждом из блоков вычисляются их градиенты, а затем передаются вычисленныеградиенты. Далее по всем граням блока (включая и находящиеся на межблочной границе)потоки величин вычисляются одинаковым образом. Обмены данных между блокамипроизводятся по технологии MPI, что позволяет производить расчеты на кластерных системах сразделенной памятью, то есть, на множестве отдельных компьютеров (узлов кластера),связанных сетью.4.2.7. Общий алгоритм продвижения по физическому времениНа каждом шаге по времени должны быть решены уравнения движения среды жидкостьгаз (4.10) и (2.6), уравнения переноса маркер-функции (2.36) и параметров турбулентности, врезультате чего должны быть найдены поля скорости, давления, маркер-функции (черезкоторую выражается плотность и молекулярная вязкость) и параметров турбулентности.93Уравнение баланса импульса и уравнения переноса параметров турбулентностиявляются нелинейными, и для их решения необходимы итерации.
Уравнения «перевязаны»друг с другом через входящие в них величины (скорость, турбулентная вязкость). Дляобеспечения связанности решений уравнений гидродинамики в коде Flag-S реализованглобальный итерационный процесс, на каждой итерации которого уточняются как поляскорости и давления (при этом также осуществляется «перевязка» этих полей с помощьюметода SIMPLEC), так и параметров турбулентности. Уточненные значения этих величиниспользуются на следующей итерации.Поскольку решения уравнений гидродинамики зависят от распределения маркерфункции (через плотность и молекулярную вязкость), перенос которой, в свою очередь,определяется полем скорости, решение уравнения переноса маркер-функции (2.36) такжедолжно быть встроено в глобальный итерационный процесс.
Однако итерации решения данногоуравнения в настоящей работе выполняются не «синхронно» с итерациями для остальныхуравнений, что обусловлено следующими причинами.Во-первых, для корректного решения уравнения (2.36) необходимо бездивергентноеполе скорости (или хотя бы близкое к таковому), то есть удовлетворяющее уравнению (2.6). Впротивном случае получатся нефизичные значения маркер-функции, заметно выходящие заграницы интервала 0-1, что в свою очередь сильно затруднит сведение итераций для остальныхуравнений. Исходя из этого, решение уравнения (2.36) в коде Flag-FS проводится не на каждойглобальной итерации, а через заданное их количество (как правило, задавалось 10).Во-вторых, как уже отмечалось в пункте 4.1.3, при решении уравнения (2.36)выполняются несколько дробных шагов по времени, приходящихся на один шаг для уравненийгидродинамики.
На каждом из данных дробных шагов уравнение (2.36) решается точно, длячего выполняются необходимые «внутришаговые» итерации. Также на каждом из дробныхшагов применяются методики «обострения» фронта и искусственной «диффузии», описанные впунктах 4.1.1 и 4.1.2.945. Тестирование разработанной методики на двумерных задачах.Исследования сеточной сходимости решения и оценка значимостивязких эффектов5.1.Простейшая задача об обрушении дамбыВ первой серии тестовых расчетов рассматривалось относительно простое течение сосвободной поверхностью – растекание жидкости (воды) по горизонтальной плоскостивследствие того, что изначально удерживающая жидкость перегородка в баке резко убираетсявверх (имитируя процесс обрушения дамбы). Для такого течения проведено несколькоэкспериментоввсходныхпостановках.Многиеразработчикивычислительногоинструментария, предназначенного для расчета течений со свободной поверхностью,используют данные этих экспериментов для верификации своих кодов.В настоящей работе используются данные относительно недавно проведенногоэксперимента [61].
Авторы эксперимента указывают, что, судя по их наблюдениям, влияниебоковых стенок на течение минимально, то есть течение является в сущности двумерным. Сучетом этого обстоятельства расчеты проводились в двумерной постановке. До начала процессавода занимала прямоугольную область размерами 38х15 см, в горизонтальном и вертикальномнаправлениях соответственно (см.
рисунок 5.1). В момент времени t=0 правая стенка,удерживающая жидкость, начинает двигаться вверх, причем имеются данные о скорости еедвижения [23]. Для более точного соответствия условий расчета эксперименту, даннаяинформация была учтена в постановке задачи: моделировалось движение стенки вверх спостоянным ускорением, таким, что скорость по достижении высоты 15 см составляла 1,5 м/с.Трение о движущуюся стенку не учитывалось (ставилось условие проскальзывания).Рисунок 5.1.
Постановка модельной задачи об обрушении дамбыПроверка сеточной чувствительности решения проводилась в два этапа: отдельно дляосновной части расчетной области и отдельно для пристенной области (исследовалось влияниесгущения расчетной сетки к нижней стенке на величину трения на ней и на решение в целом).95Результаты для пристенной области представлены выше, в пункте 4.1.2. Было показано, чтосеточная сходимость достигается при Y+ = 2.
Также было продемонстрировано, что в даннойзадаче обобщенные пристенные функции работают весьма эффективно, обеспечивая близкиераспределения трения на нижней стенке при использовании расчетных сеток с максимальнымзначением Y+, варьируемом в широком диапазоне от 1 до 160.При выборе сетки для основной части расчетной области расчеты проводились без учетаэффектов турбулентности, с условием проскальзывания на стенках. На рисунке 5.2 для трехпоследовательных моментов времени представлены результаты расчетов на двух равномерныхдекартовых сетках различного разрешения: с шагом 0,002 м (исходная сетка) и 0,004 м(огрубленная) – расчетные положения свободной поверхности справа от убранной перегородкиналожены на фотографию эксперимента (отображаемая область обозначена штрих-пунктиромна рисунке 5.1).
Видно, что результаты, полученные на обеих сетках, практически совпали.Таким образом, обе сетки можно считать достаточно мелкими для получения сеточносошедшегося решения. Последующие расчеты проводились на сетке с шагом 0,002 м.Рисунок 5.2. Наложенная поверх экспериментальных фотографий расчетная форма свободнойповерхности в три последовательных момента времени: черная пунктирная линия – исходнаясетка, серая сплошная линия – огрубленная сеткаШаг по времени в расчетах подбирался автоматически таким, чтобы максимальное повсем ячейкам расчетной сетки значение числа Куранта составляло 0,8 (при этом на каждый шаг96решения уравнений гидродинамики приходились два дробных шага для уравнения (2.36)).