О разностных методах решения нелинейного уравнения теплопроводности. Одномерный случай. Васильев М.О. Московский физико-технический институт 22 сентября 2004 г. 1 Введение В существующих работах [3] к решинию одномерных нелинейных параболических уравнений вида Ut = (εUx )x (1) определенных на области G1 , с зависимостью коэффициента теплопроводности от решения вида ε = U α, α ≥ 1 (2) 2 подходят посредством построения схемы на фиксированном шаблоне вида N N N N n+1 n Um+1 − Um Um − Um−1 Um − Um 1 N = (εN − ε ) (3) m−1/2 τ h m+1/2 h h 3 где N = n + 1 для неявной схемы и N = n для явной. Для явной схемы это приводит к условию устойчивости h2 ≥ τ (εnm+1/2 + εnm−1/2 ) или h2 τ ≤ εn +εn m+1/2 m−1/2 1 Мы пока сосредоточимся на решении уравнения внутри области, граничные условия заслуживают отдельного рассмотрения 2 Вообще говоря, метод, построенный в нашей работе, не предполагает именно такой зависимости ε от решения, и вполне работоспособен в других ситуациях, где ε не стремится к бесконечности на расчитываемой области. 3 Здесь и далее: τ - шаг по времени, нижние индексы - номера узлов пространственной сетки или (если не целые) - указывают на то, что соответствующее значение является результатом интерполяции по соседним узлам, верхние индекс - номер временного слоя. 1 В этой работе наша цель - построить явную мажорантную разностную схему, не уступающую в точности неявной и не содержащую условия мажорантности на τ . 2 Естественное продолжение существующей схемы на случай хаотических сеток 2.1 Построение схемы Аналогично [1] строим разностную схему на шаблоне, не опирающемся на фиксированные точки на n-м слое, а опирающемся на произвольные (пока) точки, отстоящие от расчитываемой на h−1 и h+1 влево и вправо соответственно. Имеем: n n εn + εn0 U+1 − U0n εn−1 + εn0 U0n − U−1 U0n+1 − U0n 2 = ( +1 − ) τ h−1 + h+1 2 h+1 2 h−1 (4) Поиск условия мажорантности приводит к неравенству вида: − h−1 h+1 ε−1 + ε0 ε+1 + ε0 − + + ≤0 τ τ h−1 h+1 (5) Достаточным условием для выполнения этого неравенства является система вида − h−1 ε−1 + ε0 + ≤0 τ h−1 (6) − h+1 ε+1 + ε0 + ≤0 τ h+1 (7) Или h2i − εi ≥ ε0 , i = ±1 τ Для выполнения этого условия достаточно, чтобы (8) h2i − εi ≥ εmax , i = ±1 (9) τ = max(εm ). m = 1..M , где M - общее число расчитываемых Где εmax узлов. Имеем схему вида: 2 L n+1 xm l n x j x j+1 Переход на n + 1-й слой и возвращение обратно. (ε−1 + ε0 )/h−1 + (ε+1 + ε0 )/h+1 )+ h−1 + h+1 (ε+1 + ε0 ) (ε−1 + ε0 ) n n + U+1 τ +U−1 τ h−1 (h−1 + h+1 ) h+1 (h−1 + h+1 ) U0n+1 = U0n (1 − τ 2.2 (10) О построении алгоритма Как видно, условие мажорантности включает в себя кроме hi еще и εi , который зависит от Ui . Соответственно, возникает проблема - в расчитывемой точке необходимо уже при построении иметь информацию о точке, расстояние до которой еще не посчитано. Решение этой проблемы получается из уравнения (9). Действительно, находясь в точке с координатой xj мы можем посчитать, куда приходят из нее кривые q x = xj ± t(εj + εmax ) (11) при t = τ . 4 Оставшаяся трудность - полученная на предыдущем шаге координата в общем случае не является координатой узла сетки. Чтобы обойти эту проблему, поступим так: для двух соседних точек сетки на n-м слое посчитаем их "отображения на n + 1−й слой", и для всех точек сетки, оказавшихся между этими "отображениями", посчитаем их праобразы на n−м слое, проинтерполировав линейной интерполяцией коэффициент ε. Соответствующие праобразы, очевидно, попадут на отрезок между двумя исходными точками. То есть, к примеру, при выn+1 . числении Um значение ε−1 будет взято как: ε−1 = εn (xj ) Ll + εn (xj+1 ) L−l L p Будем называть точку с координатой x = xj + τ (εj + εmax ) "плюсp τ (εj + εmax ) - "минусотображением"точки xj . Соответственно x = xj − отображение" 4 3 2.3 Анализ схемы Таким образом, мы имеем двухпроходный алгоритм, выполняющийся за O(N ) и разностную схему, аппроксимирующую исходное уравнение с точностью O(τ, h2 ). Мажорантность схемы так же отслеживается на каждом шаге. 3 Схема с интегралами 3.1 Построение схемы Попробуем построить разностную схему опираясь на другую идею. n+1 В работе [1] была получена разностная схема вида Um = U1n +U2n , где U1n и U2n - проинтерполированные по соседним точкам значения функции U на n-м временном слое в точках пересечения с ним параболок. n+1 В нашем случае задача осложняется ситуацией, когда в точку Um приходят не две, а большее количество парабол. Эта ситуация может иметь место только при решении нелинейного уравнения теплопроводности, и возникает, к примеру в режимах с обострением [4]. Она связана прежде всего с тем, что коэффициент теплопроводности сильно зависит от решения. Применим следующий подход: для каждой точки и каждой параболы, попавшей в нее, определим праобраз на n-м слое некоторой окрестности расчитываемой точки. Теперь, вместо суммы по точкам пересечения парабол с n-м слоем, возьмем интеграл от U n по праобразам выбранной окрестности. Тогда в качестве величин U1 и U2 будут выступать интегралы от U по подобластям n-ого временного слоя, из которых параболы попадают в окресность расчитываемой точки. 3.2 Проверка аппроксимации Итак, аккуратный метод нахождения решения уравнения Ut = (εUx )x (12) выглядит следующим образом: n+1 Um = где 5 U1,m + U2,m 2 (13) 5 Здесь и далее: xm±1/2 = (xm±1 + xm )/2, G - часть области интегрирования, на 4 T1,m (x) 1 0 x T2,m (x) 1 0 x области интегрирования. T1,m (x)U n (x)dx R T1,m (x)dx p G 1, x + 2τ εn (x) ∈ xm−1/2 , xm+1/2 T1,m (x) = 0, иначе R T2,m (x)U n (x)dx U2,m = G R T1,m (x)dx p G 1, x − 2τ εn (x) ∈ xm−1/2 , xm+1/2 T2,m (x) = 0, иначе U1,m = R G (14) (15) (16) (17) То есть U1,mp- это усреднение U n (x) по всем таким x, из которых параболка x + 2τ ε(x) попадет в окресность расчитываемой точки xm . n А Up 2,m - это усреднение U (x) по всем таким x, из которых параболка x − 2τ ε(x) попадет в окресность расчитываемой точки xm . формально уравнение (13) можно переписать в виде6 n n+1 n U1,m + U2,m − 2Um Um − Um = (18) τ 2τ Теперь разложим функцию U n (x) в ряд Тейлора в окрестности точки xm . (x − xm )2 00 n n 0 U (x) = Um + (x − xm )U + U + O((x − xm )3 ) (19) 2 которой все рассматриваемые нами в дальнейшем отрезки интегрирования (отрезки, на которых Ti,m 6= 0) не выходят за пределы области интегрирования. Вообще говоря, здесь есть некоторая тонкость - мы предполагаем, что находимся достаточно далеко от границы еще и в том смысле, что за время τ граничные условия меняются достаточно слабо и не оказывают существенного воздействия нарасчитываемую область. 6 n мы просто вычли Um справа и слева и поделили на τ 5 xm-1/2 xm ~ ~ h+,m,1<0 h~+,m,1<0 xm+1/2 l +,m,1 ~ x~+,m,1 x~+,m,1 x-+,m,1 ~ x~+,m,2 x~+,m,2 x-+,m,2 Обозначения. Введем обозначения: p 2τ εn (x) p x− (x) = x − 2τ εn (x) x+ (x) = x + (20) (21) −1 обратные функции x−1 + и x− , вообще говоря, многозначны. Разобьем −1 эти функции на однозначные ветви x−1 +,i и x−,i , каждая из которых определена на некотором отрезке. Продолжим эти ветви за области их определения теми значениями, которые они принимают в граничных точках областей определения. Так же обозначим −1 x̃±,m,i = min(x−1 (22) ±,i (xm−1/2 ), x±,i (xm+1/2 )) = q q 2τ εn (x−1 = min(xm−1/2 ∓ 2τ εn (x−1 ±,i (xm−1/2 )), xm+1/2 ∓ ±,i (xm+1/2 ))) −1 (23) x̃˜±,m,i = max(x−1 ±,i (xm−1/2 ), x±,i (xm+1/2 )) = q q = max(xm−1/2 ∓ 2τ εn (x−1 2τ εn (x−1 ±,i (xm−1/2 )), xm+1/2 ∓ ±,i (xm+1/2 ))) q x̃±,m,i + x̃˜±,m,i (x ) = x ∓ x̄±,m,i = = x−1 2τ εn (x̄±,m,i ) (24) m ±,i m 2 h̃±,m,i = x̃±,m,i − xm (25) ˜ h̃±,m,i = x̃˜±,m,i − xm (26) l±,m,i = x̃˜±,m,i − x̃±,m,i (27) обратим внимание, что: 6 (x̃˜±,m,i − xm )2 − (x̃±,m,i − xm )2 = −1 2τ (εn (x−1 ±,i (xm−1/2 )) − εn (x±,i (xm+1/2 ))) + O(h̃h), x−1 (x −1 ±,i m−1/2 ) > x±,i (xm+1/2 ) = −1 2τ (εn (x−1 ±,i (xm+1/2 )) − εn (x±,i (xm−1/2 ))) + O(h̃h), −1 x±,i (xm−1/2 ) < x−1 ±,i (xm+1/2 ) = 2τ εnx (x̃˜±,m,i − x̃±,m,i )l±,m,i + O(Hh) Тогда выражения (14) и (16) примут вид U1,m = P R x̃˜+,m,i U2,m = P R x̃˜−,m,i i i x̃+,m,i x̃−,m,i = (28) 7 n Um + (x − xm )U 0 + P i l+,m,i n Um + (x − xm )U 0 + P i l−,m,i (x−xm )2 00 U 2 + Odx (x−xm )2 00 U 2 + Odx (29) (30) Преобразуем полученные выражения (x̃˜+,m,i − xm )2 − (x̃+,m,i − xm )2 P +U i + 2 i l+,m,i P (x̃˜+,m,i − xm )3 − (x̃+,m,i − xm )3 00 P +U ( i 6 i l+,m,i P (x̃˜−,m,i − xm )2 − (x̃−,m,i − xm )2 n 0 P + = Um + U i 2 i l−,m,i P (x̃˜−,m,i − xm )3 − (x̃−,m,i − xm )3 00 P +U ( i 6 i l−,m,i U1,m = U2,m Далее n Um 0 P 7 (31) (32) мы перешли от интегралов к суммам, используя функции T . Фактически, эти суммы представляют собой ни что иное, как интегралы лишь по областям, где соответствующая Ti,m = 1. 7 U1,m = n Um +U P )l+,m,i i (τ εnxP + O(Hh) i l+,m,i )+ ˜ + h̃2+,m,i + h̃+,m,i h̃+,m,i ) P = 6 i l+,m,i P )l−,m,i + O(Hh) n 0 i (τ εnxP )+ = Um + U i l−,m,i P ˜2 ˜ 2 i l−,m,i (h̃−,m,i + h̃−,m,i + h̃−,m,i h̃−,m,i ) 00 P +U ( 6 i l−,m,i 00 +U ( U2,m 0 P ˜2 i l+,m,i (h̃+,m,i Теперь, в силу определений (20) и (21), имеем: q 2τ εn (x−1 x−1 (x) = x ∓ ±,i ) ±,i (33) (34) Тогда, с точностью до величин порядка O(h̃3 ), имеем: ˜2 ˜ 2 h̃ ±,m,i + h̃±,m,i + h̃±,m,i h̃±,m,i q τ q = 6τ εn (x−1 2τ εn (x−1 ±,i ) − ±,i (xm ))(1 + −1 dε )(±hm∓1 2τ εn (x±,i (xm )) dx = ∓ hm )) dε ≈ 6τ εn (x−1 ±,i ) + O((h̃ + τ dx )∆h) (35) где ∆h - изменение шага h на одном шаге сетки. Теперь, подставив в (18), получим: n+1 n Um − Um = U 0 (εnx + O(h̃/τ )) + τ P dε l+,m,i (6τ εn (x−1 +,i (xm )) + O(h̃ + τ dx )∆h) 00 P +U ( i )+ 12τ i l+,m,i P dε l−,m,i (6τ εn (x−1 +,i (xm )) + O(h̃ + τ dx )∆h)) 00 P +U ( i )= 12τ i l−,m,i dε = U 0 (εnx + O(h̃)) + U 00 (ε̄ + O(h̃/τ + )∆h) (36) dx то есть разностную аппроксимацию исходного уравнения (1). 4 Сравнение с существующими схемами Сравним результаты, полученные с использованием рассмотренного метода , решения полученного прогонкой и решения, полученного по явной 8 схеме с аналитическим решением. Мы будем работать с аналитическим решением вида U = (αλ(λt − x))1/α (37) В качестве одного из методов, с которым будет проводиться сравнение возьмем рассмотренный в [3] метод прогонки. Он работает на шаблоне n+1 Um − τ n Um = εnm+1/2 n+1 n+1 Um+1 −Um hm+1/2 − εnm−1/2 hm n+1 n+1 Um −Um−1 hm−1/2 (38) Как показывает численный эксперимент, у этого метода возникают существенные проблемы при аппроксимации быстро распространяющихся тепловых волн. И это не удивительно, ведь он использует в качестве коэффициента теплопроводности значения на n-м временном слое. В результате область тепловой волны, отличающаяся от всего остального (невозмущенного) пространства, не может распространяться со скоростью большей, чем λmax ≈ h/τ + h1 /τ (h - шаг сетки, h1 - характерное расстояние, на которое распростроняется тепло за один шаг по времени по среде с фоновым коэффициентом теплопроводности). Действительно, так как коэффициент теплопроводности фоновой среды на много порядков меньше, чем в возмущенной области, а в схеме в качестве коэффициента теплопроводности в m-й точке берутся εnm+1/2 и εnm−1/2 , получается, что при малом шаге сетки на границе теплового фронта берется приблизительно вдвое меньшее значение ε, чем следовало бы. 9 T=2.750000e+01 10 Integralchiki Javnaja shema Analiticheskoe Progonka-new 9 8 7 6 5 4 3 2 1 0 0 50 100 150 200 250 300 350 400 t = 27.5, λ = 5, α = 3.5, τ = 0.1 - малая скорость распространения волны T=3.300000e+00 20 Integralchiki Javnaja shema Analiticheskoe Progonka-new 18 16 14 12 10 8 6 4 2 0 0 50 100 150 200 250 300 350 400 t = 3.4, λ = 50, α = 3.5, τ = 0.1 - большая скорость распространения 10 волны T=2.300000e+00 30 Integralchiki Javnaja shema Analiticheskoe Progonka-new 25 20 15 10 5 0 0 50 100 150 200 250 300 350 400 t = 2.3, λ = 100, α = 3.5, τ = 0.1 - большая скорость распространения волны Вывод - построеный метод хорошо аппроксимирует решение для случая больших скоростей распространения фронта, в то время как при малых скоростях классические схемы дают заметно лучшие результаты. Список литературы [1] Холодов А.С. О посторении разностных схем с положительной аппроксимацией для уравнений параболического типа. // ЖВМ и МФ. 1984. Т. 24. N 9 С. 1172-1188 [2] Саульев В.К. Интегрирование параболических уравнений методом сеток. М.: Физматгиз, 1960. [3] Федоренко Р.П. Введение в вычислительную физику [4] Самарский А.А., Галактионов В.А., Курдюмов С.П., Михайлов А.П. Режимы с обострением в задачах для квазилинейных параболических уравнений. - М.: Наука. 1987 11