1612725465-542b3179b36a4849700e0b2ecf7da111 (828844), страница 26
Текст из файла (страница 26)
задачу 2.6)и записывается в граничном узле j = N как3un − 4unN −1 + unN −2un+1− unNa2 τ unN − 2unN −1 + unN −2N+a N=.τ2h2h2Путем численных экспериментов необходимо убедиться, что если дляуказанных схем в граничном узле использовать схему первого порядка,например, противопоточную схемуun − unN −1un+1− unNN+a N= 0,τhто точность численного решения понижается.178Экспериментальное определение порядка точности схем необходимовыполнять с использованием гладких решений, а свойства сглаживанияи монотонности проверять на разрывном решении «бегущая ступенька»с начальной функцией вида (1.65). Разностные схемы обладают свойством численной диссипации (см.
пп. 1.8), поэтому они сглаживают разрыв решения, причем разные схемы в разной степени. Свойство схемысохранять разрыв (не сглаживать его) называется K-свойством [30].Например, в §§ 8, 9 было показано, что схема предиктор-корректор сохраняет гидравлический прыжок и скачок уплотнения. Для исследования того, обладает ли схема K-свойством, можно использовать аппараттеории дифференциальных приближений разностных схем, вкратце изложенный в § 1.Отметим следующий интересный факт. При aæ = 1, где æ = τ /h,правая часть п. д. п.
(1.79) противопоточной схемы зануляется, и явнаясхема более точно, чем при aæ < 1, аппроксимирует уравнение (1.45).Можно показать, что при aæ = 1 уравнение (1.45) аппроксимируется противопоточной схемой точно (с бесконечным порядком по τ и h),и разрыв начальных данных сглаживаться не будет. В этом случае мыполучаем численное решение в виде «ступеньки», бегущей слева направо.
Таким образом, при aæ = 1 противопоточная схема обладаетK-свойством.П. д. п. неявной схемы (1.90) имеет вид (12.8) (см. задачу 1.12).Уравнение (12.8) будет параболическим при любом соотношении междушагами τ и h. Но если явная схема обладала K-свойством и сохраняла разрыв при aæ = 1, то из анализа уравнения (12.8) можно сделатьвывод, что коэффициент при uxx всегда будет положительным, и поэтому неявная схема будет размазывать разрыв при любых τ и h, в томчисле и при aæ = 1. Кроме того, сравнивая коэффициенты при производных uxx в уравнениях (1.79) и (12.8), видим, что при выполненииусловия aæ < 1 коэффициент в п. д.
п. (12.8) больше в (1 + aæ)/(1 − aæ)раз, чем соответствующий коэффициент в уравнении (1.79). Но именноэтот коэффициент и отвечает в параболическом уравнении за сглаживание: при бо́льших его значениях сглаживание разрывного начальногопрофиля будет бо́льшим. Следовательно, неявная схема будет сильнееразмазывать «ступеньку», чем явная, т. е.
неявная схема обладает более выраженным сглаживающим свойством, чем явная. Аналогичныйанализ можно провести и для всех других схем. Этот теоретическийанализ необходимо подтвердить численными экспериментами.Выбор шагов τ и h при проведении расчетов осуществляется с уче179том требования необходимой точности расчетов и выполнения условияустойчивости. В каждом случае поведение отклонения численного решения от достаточно гладкого точного решения обусловлено поведением производных искомой функции, формирующих входящие в погрешность аппроксимации члены: если производные велики, то и остаточныечлены велики, а их малость приводит к малым же погрешностям.
Этотфакт хорошо иллюстрируется тестированием на точных решениях, являющихся полиномами 1–3 степеней: если остаточные члены имеют производные высокого порядка, так что для полиномов они оказываютсятождественными нулями, то на этих полиномах разностная схема имеетнулевую погрешность аппроксимации, и реальная точность численногорешения может быть выше теоретической. Например, если при тестировании программы, реализующей явную противопоточную схему, использовать точное решение в виде линейной функции u(x, t) = α1 x+α2 t,то погрешность численного решения будет равна нулю, так как равнанулю погрешность аппроксимации.
Подтвердите этот факт численнымиэкспериментами.Если программа тестируется на гладких функциях u(x, t), не являющихся полиномами, то заранее трудно сказать, какая будет погрешностьрешения на заданной сетке. Известно лишь, что она будет иметь некоторый порядок малости, например, для явной противопоточной схемыона будет порядка O(τ + h). Конкретное же числовое значение погрешности будет определяться гладкостью начальных и граничных функцийи, возможно, их производными. Поэтому в численных экспериментах поопределению порядка точности разностных схем на выбранных гладкихфункциях u(x, t) следует проводить расчеты на последовательности измельчающихся сеток, причем, если программа написана правильно, топогрешность численного решения будет уменьшаться по вполне определенному закону, зависящему от порядка аппроксимации. Например, длясхемы Лакса – Вендроффа при измельчении шагов сетки вдвое погрешность численного решения должна уменьшиться в четыре раза (длягладких решений).Если аппроксимация схемы условная, то на соотношение между шагами τ и h налагается дополнительное требование.
Например, в схемеЛакса следует полагать τ = O(h), в противном случае разностная схемаможет аппроксимировать другое, отличное от исходного дифференциальное уравнение (см. пп. 1.5).Указанные в заданиях явные схемы являются условно устойчивыми.Выбрав временно́й шаг τ по формуле (5.6), проведите расчеты с разны180ми значениями коэффициента запаса kзап ≤ 1. Проанализируйте точность численного решения при приближении шага по времени к границе устойчивости. Попробуйте провести расчет при нарушении условияустойчивости. Если устойчивость схемы абсолютная, то соотношениемежду τ и h не должно влиять на устойчивость счета.
Подтвердите эточисленными расчетами.Если схема не сохраняет монотонность численного решения, то егографик может иметь осцилляции. Немонотонность схемы существеннопроявляется на негладких и сильно меняющихся решениях, например,на решении «бегущая ступенька». Попробуйте выяснить, не исчезают лиосцилляции при измельчении сетки или при выборе подходящих значений коэффициента запаса.При тестировании программы весьма полезным является использование графики – вывод графиков численного и точного решений длянекоторых моментов времени (например, в виде, изображенном на рисунках 3, 4, 7 или 18–20). Кривые на графиках должны различатьсялибо цветом, либо способом нанесения линий (сплошные, штриховыеи т.
п.). Оси координат должны быть подписаны и иметь цифровуюразметку.Кроме графического вывода, необходимо предусмотреть сохранениечисленного решения в некотором файле. Можно организовать выводили каждого слоя по времени, или только некоторых слоев (например,слоев с номерами n, кратными 10). Вывод слоя {unj } можно организовать, например, следующим образом. Сначала выводятся номер слоя nи соответствующее ему время tn , а затем выдается таблица, например,с пятью колонками, в которых печатаются соответственно числа j, xj ,unj , u(xj , tn ) и абсолютное значение отклонения в узле xj численногорешения от точного, т. е.
величина |unj − u(xj , tn )|. Когда таблица будетвыведена, необходимо напечатать еще значение максимального отклонения численного решения от точного для данного слояεn = max |unj − u(xj , tn )|,0≤j≤Nа также номер j0 того узла, где произошло максимальное отклонение.В конце всей выдачи желательно напечатать значение максимального отклонения численного решения от точного по всем слоям, а такженомер узла j0 и номер слоя n0 , в котором имело место максимальноеотклонение в течение всего численного расчета, т.
е. выдать величиныε = max εn ,0≤n≤M181j 0 , n0 .Выводимые значения желательно сопровождать поясняющими надписями. Необходимо оформить файл с результатами счета так, чтобыон был удобен для последующего просмотра и анализа.Указанные рекомендации сохраняют свою силу и для всех приведенных ниже заданий.11.2. Уравнение Хопфа. В сформулированных ниже заданияхнеобходимо выполнить численное исследование свойств трех явных схем,предназначенных для численного решения начально-краевой задачи дляуравнения Хопфа (4.5): схемы С. К.
Годунова (4.30), (4.52), противопоточной схемы (4.42), схемы предиктор-корректор (4.53), (4.55).Задание 7. Экспериментально исследуйте устойчивость, порядок точности, выполнение свойства монотонности и сглаживающиесвойства противопоточной схемы.Задание 8. Экспериментально исследуйте устойчивость, порядок точности, выполнение свойства монотонности и сглаживающиесвойства схемы С. К.
Годунова.Задание 9. Экспериментально исследуйте влияние схемного параметра θ на точность, выполнение свойства монотонности и сглаживающие свойства схемы предиктор-корректор. Задав схемный параметр по формуле (4.56), сравните результаты расчетов по схемепредиктор-корректор с данными, полученными с помощью противопоточной схемы и схемы Лакса – Вендроффа.Для тестирования алгоритмов можно использовать точные решения,приведенные в § 4.
Порядок точности схем проверьте на тестовой задаче с гладким (бесконечно дифференцируемым) решением (4.12). Свойство монотонности и сглаживающие свойства схем проверьте вначале нанепрерывном решении типа волны разрежения (4.16), а затем на решении типа волны сжатия (4.16), которое после градиентной катастрофыстановится разрывным и описывается формулой (4.22). Далее возьмитеразрывную начальную функцию (4.24) и исследуйте качество воспроизведения разрывного при t > 0 решения (4.25) и непрерывного при t > 0решения (4.26).В задании 9 требуется сравнить результаты расчетов по трем схемам.Однако разрабатывать для этого три отдельные программы не следует.Достаточно создать программу, реализующую алгоритм расчета по схеме предиктор-корректор, поскольку схемы Лакса – Вендроффа и про182тивопоточная являются частным случаем схемы предиктор-корректор:задав схемный параметр θ = 0, мы получим расчет по схеме Лакса –Вендроффа, а для схемного параметра, указанного в задаче 4.4, – попротивопоточной схеме.11.3.