Бураго Н.Г. Вычислительная механика (1185926), страница 39
Текст из файла (страница 39)
Воснове дискретных условий невырожденности лежит идея заменышестигранных ячеек сетки каким-либо набором трехгранных ячеек,который аппроксимирует шестигранную ячейку, с последующимучетом положительности якобиана отображения для каждойтрехгранной ячейки, как дополнительного условия.Явление выворачивания ячеек сетки при использованиинедостаточно точных формул численного интегрирования сеточныхфункционалов на шестигранных ячейках имеет ту же природу, что инеустойчивость "песочных часов" в лагранжевых методах конечныхэлементов, которая также приводит к вырождению сетки.Недостаточная точность численного интегрирования приводит кпоявлению ненулевых решений, не дающих вклада в сеточныефункционалы, то есть, обладающие "нулевой энергией".
Такие224Глава 19. Генерация и использование сетокрешения пропорциональны значениям +1 и -1 на каждом ребре сеткии их производные равны нулю в центрах щестигранных ячеек.Введениедискретныхусловийневырожденностишестигранных ячеек обеспечивает необходимую точностьчисленного интегрирования сеточных функционалов, требуемуюдлясходимостиприменяемыхкусочно-три-линейныхаппроксимаций.
Вид таких дискретных условий будет зависеть отприменяемых аппроксимаций решения сеточных функционалов. Внастоящее время дискретные условия невырожденности полученытолько для кусочно-три-линейных аппроксимаций решения.Кольскороусловияневырожденностисеточныхотображений сформулированы, их учитывают методом барьерныхштрафных функций как дополнительные ограничения ввариационных формулировках задач генерации сеток, общий видкоторых дан выше.Предотвратить появление решений нулевой энергии в общемслучае можно применяя для вычисления дискретных сеточныхфункционалов квадратуры Гаусса достаточной точности сдостаточным числом гауссовых точек так, как это делается валгоритмах метода конечных элементов для нелинейной теорииупругости.
Теоремы о точности численного интегрированияфункционалов, необходимой для сходимости решений, можно найтив книге (Стренг и Фикс, 1980).19.4. Динамически адаптивные сеткиЛокальные ошибки аппроксимации пропорциональны нормепроизводных от решения и некоторой степени шага сетки. В зонеударных волн, контактных разрывов, межфазных границ ипограничных слоев при неизменном шаге пространственной сеткиможет иметь место резкий всплеск нормы производных и,следовательно, нормы ошибок аппроксимации, что ведет к потереточности решения. Для подавления этих всплесков ошибокаппроксимации требуется сгущение сеток в зонах большихградиентов решения.Сгущать сетки можно двумя способами:1) путем введения дополнительных узлов и ячеек, которыйназывается методом встраиваемых сеток.
Этот метод требует работыс переменными списками узлов в шаблонах или ячейках;2) путем сдвига узлов в зону больших градиентов, что требуетразработки специальных алгоритмов управления сеткой. И в том, и вдругом случаях требуется алгоритм вычисления решения во вновьвведенных или передвинутых узлах.
И в том, и в другом случаяхнужны индикаторы необходимости сгущения/разрежения сетки,называемые адаптационными функциями. Адаптационные функции225Глава 19. Генерация и использование сетокявдяются характеристиками ошибок аппроксимации и определяютсякак некоторая норма пространственных производных от решения.Имеется специальное направление исследований по оценке ошибокаппроксимации приближенных решений (error estimate investigation)Простейший алгоритм адаптивных сеток имеет вид:xin +1 = xin + α in din +1∆tnd = ∑ (1 + φkn ) k∈Ωini−1∑xk∈Ωink(1 + φkn ) − xinгде xin - радиус-вектор узла i на n -м временном слое, Ωi множество номеров соседних узлов для узла i , φin ≥ 0 - узловыезначения адаптационной функции, 0 ≤ α in ≤ 1 - параметррелаксации.Если адаптационная функция равна нулю (решение независит от координат), то записанный простейший алгоритмреализует обычное сглпживание сетки, делая ее более равномернойи сдвигая каждый узел в сторону центра относительно его соседей.Если адаптационная функция не равна нулю, то узелполучает дополнительное смещение в сторону возрастанияадаптационной функции.
Где больше значение адаптационнойфункции, там сетка становится более мелкой, что и уменьшаетошибки аппроксимации.Коэффициент α in выбирается из условий устойчивостиявного интегрирования параболического уравнения управлениясеткой, которое можно получить как дифференциальноеприближение записанных уравнений движения сетки, рассматриваяадаптационный алгоритм как разностную схему. В одномерномслучае это дифференциальное приближение имеет вид:∂x∂ α ∂x α ∂x ∂φ= 0+ O((∆x 0 )4 , (∆t ) 2 )+∂t ∂x 2 ∂x 0 2 ∂x 0 ∂x 0Видно, что уравнение управления адаптивной сеткой реализуетявную двухслойную схему для данного параболического уравнения,которая устойчива при α in ∆tn ≤ (∆x 0 ) 2 .Заметим, что в расчетных формулах алгоритма адаптациишаг сетки прообраза ∆x 0 выбран равным единице, поэтому условиеустойчивости имеет вид: α in ∆tn ≤ 1 .:226Глава 19.
Генерация и использование сетокВ расчетаx обычно принимается α in ∆tn = 0.5 . При этомданный узел сдвинеться к ближайшему соседу не более чем наполовину расстояния между ними. Сближение узлов прекращается( α in ∆tn = 0 ), если достигнут минимально допустимый размер ребра.Новые узловые значения искомых функций задачи y in можноопределять двумя способами. Первый способ состоит в решенииуравнений "сеточной конвекции"∂y− w ⋅∇y = 0∂tгдеоператорградиентаотноситсякдеформированнойконфигурации, а w = ∂x / ∂t - скорость подвижной сетки.
Знакминус при конвективном члене правильный. Уравнения сеточнойконвекции интегрируются по явной схеме.Второй способ состоит в использовании переинтерполяциирешения на адаптированную сетку. Это требует большего объемавычислений, чем в первом способе, из-за поиска интерполяционныхячеек.Для стационарных задач алгоритм адаптационных функцийможно интерпретировать как итерационный процесс ( ∆tn = 1.0 ).Конечно, сгущение сеток и подавление ошибокаппроксимации в зонах больших градиентов зависит от выбораадаптационной функции. Этот выбор подсказывается локальнымиоценками ошибок сеточного метода.
Во многих случаях из-засложности уравнений такие оценки отсутствуют и адаптационнаяфункция задается интуитивно, а именно, в качестве адаптационнойфункции применяется какая-либо полунорма решения, имеющаявсплеск в погранслоях и на скачках (норма дивергенции скорости,градиентов плотности или завихренности).Описанныйпростейшийалгоритмнегарантируеткорректность подвижной сетки (не гарантирует отсутствиевыворачивания ячеек).19.5. Вложенные сеткиВложенной сеткой называется сетка, получаемая изисходной введением дополнительных узлов на серединах реберотрезков между исходными узлами (одномерный случай), насерединах ребер треугольных элементов (двумерный случай) и насерединах ребер тетраэдров (трехмерный случай).
Для ячеекчетырехузловых в двумерном случае и для шестигранных ячеек втрехмерном случае на вложенное сетке дополнительные узлы227Глава 19. Генерация и использование сетоквводятся на серединах ребер и в центрах ограничивающих ячейкуграней.Вложенные сетки используются:1) для ускорения итерационных алгоритмов решения,2) для реализации уточнения решений экстраполяцией Ричардсона,3) для получения распределения погрешности решения.Ускорениесходимостиитерационныхпроцессов(Федоренко, 1973) достигается за счет того, что итерации на грубойначальной сетке сходятся быстро (дают длинноволновуюсоставлющую решения).
Это решение интерполируется затем навложенную сетку в качестве хорошего начального приближения дляпродолжения итераций на вложенной сетке. В результате получаетсяощутимый выигрыш в потребном для получения решения объемевычислительной работы.В алгоритмах экстраполяции Ричардсона используетсяаприорная информация об асимптотической скорости убыванияпогрешности (подробности см в книге Марчука, 1979); МетодРичардсона позволяет вычислять уточненное решение путемсложения с весами решений, полученных на вложенных сетках, сцелью экстраполяции решения на сетку с "нулевым" шагом.