Роуч П. Вычислительная гидродинамика (1185913), страница 109
Текст из файла (страница 109)
Хотя бы на грубой сетке проверьте устойчивость расчетов в интересуюших вас пределах изменения величин М, Ке и т. д. (хотя это не всегда возможно в случае зависимости устойчиво. 7.2. Отладка и контроль сти от размера ячейки сетки, как в условии устойчивости цо се.
точному числу Рсйнольдса). Прн проверке устойчивости расчета эволюционной задачи может быть полезен способ, предложенный Миллером 11967). Он предлагает проводить параллельно два расчета при началиных условиях, отличающихся на величину, в некотором смысле малую, но значительно бблъшую, чем ошибки округления. О возникновении неустойчивости можно судить по величине некоторого функционала (разности квадратов зависимых переменных) для двух таких параллельных расчетов. Заметим, однако, что этот прием не дает возможности отличить гидродинамическую неустойчивость от численной.
19. Ое списывайте всв неудачи на нелинейную неустойчивость. Когда расчет протекает неудовлетворительно, обычно роль «козла отпущения» достается нелинейной неустойчивости. На нее списывают и ошибки программирования, и неверную постановку граничных условий, и неисследованную линейную неустойчивость. В действительности настоящая нелинейная неустойчивость встречается сравнительно редко; единственными известными ее примерами являются ограниченные осцилляции около сильной ударной волны ') и трудность при «комбинированиом итерированииз уравнений для 9 и зр (см. равд. 3.1.22). Чаще нелинейности подавляют ошибки и действительные неустойчивости за счет механизма ограничения роста амплитуды.
Можно иногда избежать настоящей нелинейной неустойчивости (а иногда и затушевать следствия ошибок в программе), задавая лучшие начальные условия, которые могут быть получены менее точным, но более устойчивым методом, Так, Лапидус 11967] для получения хороших начальных условий применил просто первый шаг (схему Лакса) двухшаговой схемы Лакса— Вендроффа (равд. 5.5.6).
20 Тщательно проверяйте итвраиионную скодимость конечноразносгных уравнений. Обычно это можно делать на очень грубой сетке. Как было указано в равд. 3.4 и 5.8, строгих критериев итерационной сходимости не существует. Однако па грубой сетке часто можно достигнуть полной сходимости (т.е. нулевых изменений величин) конечно-разностного решения в пределах машинной точности.
(Это возможно нс для всех схем, поскольку могут возникать незатухающие колебания малой амплитуды.) Если второй ') Расчеты уравнения Бюргерса для невязкой жидкости, проведенные Штеттером [1970), указывают на устойчивость, ооусловленну1о местным изменением характеристического направления в конечно-разностных уравнениях. 488 т.л. Отладка и контроль расчет с другими начальными условиями сошелся к тому же решению с точностью до ошибок округления, то можно утверждать (если не с абсолютной уверенностью, то хотя бы с чистой совестью), что схема обладает сходимостью. 2!. Используйте любую информацию о решении для проверки.
Эта рекомендация дана Хеммингом [1962]. Например, заранее известные условия симметрии обычно применяются для уменьшения размеров расчетной области задачи. Однако при начальной проверке на грубой сетке развитие симметричной картины из несимметричных начальных условий может быть хорошим тестом задачи. Аналогично, для проверки аппроксимационной сходимости можно контролировать однозначность давления в угловой точке (разд. 3.5.3). Читателю могут встретить.
ся и другие аналогичные примеры. 22. По возможности проверяйте точность расчетов сравнением с точными решениями. Иногда точность схемы или программы можно проверить сравнением с точным решением. Такие точные решения не обязательно должны быть решениями реальных практически важных задач; с другой стороны, хорошее согласование полученного решения с точным еще не означает в общем случае точности схемы или отсутствия ошибок в программе.
В частности, стационарные течения вязкой жидкости с параллельными линиями тока (течение Куэтта, течение Пуазейля, течение между вращающимися концентрическими цилиндрами и т, д,) не обеспечивают особо хорошей проверки точи схемы. Г!риведем примеры удачного использования точных решений для проверки вычислительных схем, опубликованные в открытой литературе. Для исследования устойчивости ири постановке граничных условий на входной и выходной границах П.
Дж. Тейлор [1968] рассмотрел задачу о мгновенном начале движения бесконечной плоской пластины, так называемую задачу Релея пли первую задачу Стокса (см. Шлихтинг [1968]). Решение имеет вид и (у, 1) = У ег1с [ где ег1с — дополнительный интеграл вероятности ошибки. Кроме точного решения задачи о мгновенном начале движения пластины имеется еще точное автомодельнос решение при заданной непрерывной зависимости скорости от времени ГГ = а1ь.
Это решение имеет вид (/= а1ьг" (т)), где т) =у/(2 уъ|), а р(411 — ре- 72. Отладка и контроль 4а4 шение (численное) следующего обыкновенного дифференциаль. ного уравнения: Ра+2»(Р' — 4ЬР=О, Р(0)=1, Р(со)=0 Бердсли (1969) для контроля брал решение в цилиндрических координатах аналогичной задачи о мгновенной остановке цилиндрического сосуда единичного радиуса, вращавшегося ранее вместе с жидкостью как единое целое. Начальное условие для окружной составляющей скорости пв имеет вид по(г, 0) = г для г < 1.
Во все моменты времени ( ) 0 имеем по(1, () =О. Уравнения течения имеют вид дь О дй — =ЧОРНИ, П = —, о дг ~-Ч'ф= — — ~» — д). ! д дО(1 Точное решение записывается через функции Бесселя: Ю, (ЛОГ] О-1 (О (Л11~) — ОО (Лк»О) ехр ( — Л„т(), Лк(о (Лл'о) О-Ь Для проверки можно взять решение задачи о течении около бес- конечной плоской пластины, колеблющейся по закону 1/ = с)осок (то() (вторая задача Стокса; см. Шлихтинг (1968] ). Решение имеет вид и(у, () =(7ье ч сов(то( — т)), где т) = иго/(2т). Недостатком этих одномерных решений является отсутствие конвективных членов в уравнениях движения.
Гринепэн [19671 для изучения точности рассматривал нефизичную задачу с до- бавлением в уравнение неоднородных членов. При этом уравне. ние в частных производных, граничные и начальные условия имели вид ди дти — = — + з(п х (з(п(+ соз(), д» дх' и(х,О)=0, 0<х<п, и(0, ()=О= — и(п, () для ( ОЬ 485 7.2. Отладка и контроль решение задачи записывается в виде и(х, 1)=ейпх 81пй Настоящее нелинейное поведение решений в одномерной задаче моткно изучать при помощи уравнения Бюргерса (2.19) ди ди д'и — +и — х=а— д1+ дх дх'' которое может быть записано в консервативной форме Шредер и Томсен [1969) рассмотрели его вариант без учета вязкости (а = 0) с условиями и(х, 0)=х, 0(х<1; и(0, 1) =О, 1) О.
Точное решение имеет вид и =х/(1+1), что означает отсутствие скачков при 1) 0 (см. равд. 4.7). Однако это решение дает дти/дхх = 0 во все моменты времени и поэтому не может обеспечить удовлетворительной проверки (например, по нему нельзя изучить влияние искусственной вязкости). Чен [1968) и Аллен [19681 изучали точность постановки условий на выходной границе и консервативность с помощью уравнения Бюргерса при а ) 0 с граничными условиями и(0,1) = О, и( — '/,, 1) = 1. Точное стационарное решение в интервале — '/х ( х ( 0 имеет вид и (х, со) = — 2а(Ь(Ах), где А = 2аг (п [1/(2аИ. Тейлор с соавторами [1972! применял полученное Лайтхиллом точное решение задачи об эволюции первоначально ступенчатой функции в бесконечном пространстве (без граничных условий по пространству).
Для начальных условий и(х, 0)=а при х~(0, и(х, 0)=0 прн х)0 точное решение имеет вид и(х, 1) =а (1+ ехр [ 2а (х — — )] Ь ~ где Ь = ег1с [ — х/[2 уЯ ) )/ег1с [(х — а!Я2 т/ьд )~, Гурли и Моррис [1968а) рассмотрели следующее одномерное нелинейное уравнение в частных производных: ди хти' ди т' 2хьи' — + — — = 1к — 1) соз (х' — 1) ти т дк т 2 Отладка а контроль с граничными условиями и (х, 1) = з!п (х' — 1), и(0, 1) = — з!пу. На интервале 0 ( х < ! и при 1 < г точное решение имеет вид и(х, 1) = з(п (х' — 1). Гурлп и Моррис [19б8б[ рассматривали также двумерную задачу с действительно нелинейными членами, напоминающимн конвективные члены. При этом уравнение в частных производных имело внд +д4 4)+дЯ вЂ” ~(их у) где 7 (и, х, у) = 50иху [у (1 — у) (2 — Зх) + х(1 — х) (2 — Зу)).