1612725465-542b3179b36a4849700e0b2ecf7da111 (828844), страница 27
Текст из файла (страница 27)
Уравнение колебаний струны. В первой группе заданийчисленному исследованию будут подвергаться схема с весами (6.8) приразличных значениях весового параметра σ и полностью неявная схема вида (6.32), предназначенные для решения начально-краевой задачидля уравнения колебаний однородной струны. Математическая постановка этой задачи приведена в пп. 6.1.Задание 10. Реализовать явную схему (схему с весами (6.8) приσ = 0) для краевых условий (6.3). Проверить экспериментально условия устойчивости схемы и определить порядок точности схемы нагладких и обобщенных решениях.Задание 11.
Для полностью неявной схемы с условиями третьегорода при x = 0 и первого при x = l дать основанный на численных экспериментах сравнительный анализ различных аппроксимаций краевыхусловий.Задание 12. Для схемы с весами с краевыми условиями первогорода проверить экспериментально условия устойчивости и выяснитьпорядок точности на гладких и обобщенных решениях при различныхзначениях весового параметра.Задание 13. На гладких и обобщенных решениях сравнить точность вычислений по явной схеме и схеме повышенного порядка аппроксимации.Программу следует тестировать сначала на гладких решениях u(x, t),а затем на решениях с сильно меняющейся производной ∂u/∂x или нарешениях, имеющих лишь кусочно-непрерывные первые производные.Приведем несколько примеров задач, точные решения которых можноиспользовать для тестирования программ расчета колебаний однородной струны.Задача 1.
Пусть l = 2π, u0 (x) = sin x, v0 (x) = 0, f (x, t) = 0, µ0 (t) =0, µl (t) = 0. Тогда функция u(x, t) = sin x cos(at) будет гладким решением задачи (6.1)–(6.3).Задача 2. Пусть l = 2π, u0 (x) = cos(mx), v0 (x) = am sin(mx),f (x, t) = 0, µ0 (t) = cos(amt), µl (t) = µ0 (t), m – целое, m ≥ 1. При183этих условиях решением задачи (6.1)–(6.3) является гладкая функцияu(x, t) = cos (m(x − at)).Задача 3. Пусть v0 (x) = 0, f (x, t) = 0, µ0 (t) = µl (t) = 0,0при 0 ≤ x ≤ x1 ,x−xx1 + x21 2при x1 ≤ x ≤,x−x221u0 (x) =x − x2x1 + x22при≤ x ≤ x2 ,2 x1 − x20при x2 ≤ x ≤ l,{}x1 l − x2где 0 < x1 < x2 < l.
Тогда при T < min;обобщенноеaaрешение задачи (6.1)–(6.3) определяется (согласно (6.7)) формулойu(x, t) =u0 (x + at) + u0 (x − at).2В этой задаче начальное отклонение струны описывается кусочно-линейной функцией с кусочно-непрерывными производными.Задача 4. Пусть u0 (x) = 0, f (x, t) = 0, µ0 (t) = µl (t) = 0, 0 при 0 ≤ x < x1 ,1 при x1 ≤ x ≤ x2 ,v0 (x) =0 при x2 < x ≤ l,{}x1 l − x2где 0 < x1 < x2 < l.
Тогда при T < min;задача (6.1)–(6.3)aaимеет обобщенное решение0при x + at ≤ x1 , x + at − x1при x1 ≤ x + at ≤ x2 и x − at ≤ x1 ,2aпри x + at ≤ x2 и x1 ≤ x − at, tu(x, t) =x2 − x1при x + at ≥ x2 и x − at ≤ x1 ,2a−x + at + x2при x + at ≥ x2 и x1 ≤ x − at ≤ x2 ,2a0при x − at ≥ x2 .В этой задаче начальное отклонение струны отсутствует, но ее начальная скорость разрывна (является кусочно-постоянной функцией).184Задача 5. Заданы l > 0, u0 (x) = 0, v0 (x) = 0, f (x, t) = 0, µ0 (t) =sin(at), µl (t) = 0, T < l/a. Тогда функция{sin(at − x) при 0 ≤ x ≤ at,u(x, t) =0при at ≤ x ≤ lбудет обобщенным решением задачи (6.1)–(6.3). На характеристикеx = at имеется разрыв производных ∂u/∂t, ∂u/∂x.
Эта характеристиканазывается разделяющей: слева от нее решение определяется краевымиусловиями, а справа – начальными. Согласно (6.19) имеем равенство(ut + aux )лев = 0.В следующих заданиях требуется выполнить численное исследование свойств схем, аппроксимирующих уравнение колебаний неоднородной струны. Программы следует тестировать вначале на гладких функциях k(x, t, u), f (x, t, u), которые необходимо задавать в виде отдельныхпроцедур, чтобы переход к тестированию для других k и f можно былоосуществить лишь изменением тела этих процедур.
Проводя вычисления на последовательности сеток, необходимо убедиться в аппроксимационных свойствах используемых схем. Выбирая различные значения τпри фиксированном шаге h, следует проверить экспериментально условия устойчивости схем или убедиться в их абсолютной устойчивости.Вначале необходимо проверить правильность работы программыв простейших ситуациях, когда k = const и f ≡ 0.
В качестве тестовых можно брать, например, решения задач 1–5. Далее следует перейтик тестированию на точных решениях задач, в которых коэффициент kзависит от переменных x, t, но не зависит от решения u. В качестве решений задач можно вначале взять любые гладкие функции, например,u(x, t) = (2(x − 1)2 − 1) cos t,k(x, t) = (2(x − 1)2 − 1) cos t + 2. (11.1)Начальные условия (6.2) для такой тестовой функции имеют видu0 (x) = 2(x − 1)2 − 1,v0 (x) = 0.(11.2)Подставив u в уравнение (6.21), получим правую часть уравнения()∂2u∂∂uf (x, t) = 2 −k= (−2x2 + 4x − 9) cos t − 4(6x2 − 12x + 5) cos2 t.∂t∂x∂x185Для полноты постановки выпишем и формулы для функций µ0 и µlв краевых условиях (6.3), (6.22), (6.23), при этом примем l = 2:Условие (6.3):Условие (6.22):Условие (6.23):µ0 (t) = µl (t) = cos t.µ0 (t) = −µl (t) = − (8 + 4 cos t) cos t.µ0 (t) = − (8 − γ0 + 4 cos t) cos t,µl (t) = (8 + γl + 4 cos t) cos t.(11.3)Для тестирования программ расчета нелинейных задач можно предложить ту же гладкую функцию u(x, t) из (11.1), но задать k и f зависящими от решения:k(x, t, u) = u + 2,f (x, t, u) = −u(1 + 12 cos t) − 8 cos2 t − 8 cos t, (11.4)при этом начальные (11.2) и краевые (11.3) условия не изменяются.Завершите тестирование программы проверкой ее работы на задачахс разрывным коэффициентом k, например, когда k является кусочнопостоянной функцией:{ 2a1 при x < x0 ,k(x) =(11.5)a22 при x > x0 ,где 0 < x0 < l, a1 ̸= a2 , a1 = const > 0, a2 = const > 0.
В таком случаеу задачи (6.21), (6.2), (6.3) (либо с условиями (6.22) или (6.23)) не существует классического решения, но имеется непрерывное обобщенноерешение, производная ∂u/∂x которого имеет разрыв в точке x = x0 .Величина разрыва удовлетворяет условию сопряжения [19](())2 ∂u2 ∂ua1(x0 , t) = a2(x0 , t).(11.6)∂x лев∂x прС условиями подобного вида мы уже встречались при изучении обобщенного решения уравнения теплопроводности (см. формулы (3.3.32),(3.3.33)).Приведем пример задачи, которая является модификацией задачи 5на случай разрывного коэффициента k, заданного формулой (11.5).Обобщенное решение этой модифицированной задачи будет иметь разрывные производные при x = x0 и на разделяющей характеристике,заданной формулой a1 t() при t ≤ t0 ,a2x = a(t) =(11.7)при t ≥ t0 , a2 t + x 0 1 −a1186где t0 = x0 /a1 . Для того чтобы разделяющая характеристика (11.7)не пересекалась с правой границей x = l, выберем T > t0 не оченьбольшим, чтобы удовлетворялось неравенство a(T ) < l, что в явномвиде запишется следующим образом:)(a2−1l + x0a1t0 < T <.(11.8)a2Задача 6.
При выполнении условий задачи 5, а также условий(11.5), (11.8) задача (6.21), (6.2), (6.3) имеет обобщенное решение, определяемое формулойsin(a1 t − x)при t ≤ t0 и 0 ≤ x ≤ a(t),sin(at−x)1] при t ≥ t0 и 0 ≤ x ≤ x0 ,[a1u(x, t) =(a(t) − x)при t ≥ t0 и x0 ≤ x ≤ a(t),sina20при a(t) ≤ x ≤ l.График точного решения задачи 6 имеет излом в точке x = x0 .Если для решения этой задачи использовать схемы сквозного счета, тона графиках численного решения изломы будут выражены слабее, они«размажутся».Для уточнения расчетов задач с разрывными коэффициентами можно рассмотреть другую методику их численного решения: счет с выделением разрывов.
Поясним суть этой методики для простейшего случая(11.5). В процессе расчета в подобластях x < x0 и x > x0 используетсявыбранная разностная схема, а в точке x = x0 вместо разностной схемыберется какая-либо аппроксимация условия на разрыве (11.6). При этомсетку строят так, чтобы точка x0 совпала с одним из узлов. Пусть этобудет узел с номером j0 (1 < j0 < N − 1).Рассмотрим аппроксимацию производных в условии (11.6) односторонними разностями первого порядкаa21n+1un+1− un+1un+1j0j0 −1j +1 − uj0= a22 0.hh(11.9)Предположим, что для численного решения задачи используется полностью неявная схема.
Ее можно записать в виде (6.33) и далее решитьполученные уравнения методом прогонки. Коэффициенты A, B, C, D187уравнения (6.33) будут вычисляться при j ̸= j0 по единообразным формулам (6.37), а в точке разрыва j = j0 – по другим формулам, следующим из разностного аналога (11.9) условия сопряжения:Aj0 = a21 ,Bj0 = a22 ,Cj0 = a21 + a22 ,Dj0 = 0.(11.10)Подобная реализация называется расчетом с выделением разрывов.Аналогично поступают, когда функция k(x, t) кусочно-постоянна и имеет несколько неподвижных точек разрыва. Очевидно, методика применима и в том случае, когда между неподвижными точками разрывафункция k является переменной.Рассмотрим реализацию счета с выделением разрывов при аппроксимации производных в (11.6) разностями второго порядка:a21n+1n+13un+1− 4un+1−3un+1+ 4un+1j0j0 −1 + uj0 −2j0j0 +1 − uj0 +22·= a2 ·.2h2h(11.11)Если для расчета с выделением разрывов берется явная схема, то присутствие разрыва не вносит новых трудностей: вначале рассчитываютсявеличины un+1при j ̸= j0 , а затем из (11.11) определяется un+1jj0 .