Давайте рассмотрим гладкое начальное условие и уравнение теплопроводности в одном измерении: в открытом интервале и предположим, что мы хотим решить его численно с конечными разностями.
Я знаю, что для того, чтобы моя задача была правильно поставлена, мне нужно наделить ее граничными условиями при и . Я знаю, что Дирихле или Нейман работают хорошо.
Если у меня в первом случае внутренних точек для , то у меня есть неизвестных: для k = 1, \ cdots, N , потому что u прописан на границах. k=1,⋯,NNuk=u(xk
Во втором случае у меня действительно есть неизвестных , и я знаю, как использовать (однородный) Нейман до н.э. для дискретизации лапласиана на границе, например, с добавлением двух фиктивные точки и и равенства:
Мой вопрос о периодической до нашей эры. У меня есть ощущение, что я мог бы использовать одно уравнение, а именно но, может быть, два, и тогда я бы использовал ∂ x u ( 0)
но я не уверен. Я тоже не знаю, сколько неизвестных мне нужно иметь. Это ?
Ответы:
Лучший способ сделать это - (как вы сказали) просто использовать определение периодических граничных условий и правильно настроить ваши уравнения с самого начала, используя тот факт, что . Фактически, еще сильнее периодические граничные условия отождествляют x = 0 с x = 1 . По этой причине у вас должна быть только одна из этих точек в вашем домене решений. Открытый интервал не имеет смысла при использовании периодических граничных условий, так как нет границы .u(0)=u(1) x=0 x=1
Этот факт означает, что вам не следует помещать точку в поскольку она совпадает с x = 0 . Дискретизируя с N + 1 точками, вы затем используете тот факт, что по определению точка слева от x 0 равна x N, а точка справа от x N равна x 0 .x=1 x=0 N+1 x0 xN xN x0
Ваш PDE может быть затем дискретизирован в пространстве как
Это можно записать в матричной форме как , где =[ - 2 1 0 ⋯ 0 1 1 -
Конечно, нет необходимости создавать или хранить эту матрицу. Конечные различия должны быть вычислены на лету, обращаясь к первым и последним точкам, особенно по мере необходимости.
В качестве простого примера, следующие MATLAB скрипт решает с периодическими граничными условиями на области х ∈ [ - 1 , 1 ) . Изготовленный раствор u Ref ( t , x ) = exp ( - t ) cos ( 5 π x
источник
В соответствии с этим вы должны наложить периодические граничные условия как:
Одним из способов неявного выражения уравнения теплопроводности с использованием обратного Эйлера является
Решение системы уравнений
Your periodic boundary conditions can be included by adding two more equations and two additional(ghost) cellsu0 and uN+1 such that:
According to Section 2.11 LeVeque this gives you a 2nd order accuracy forux
Finally your system of equations will look like:
Which gives you N+2 equations and N+2 unknowns.
You can also get rid of the first to equations and the ghost cells and arrive at a system of N equations and N unknowns.
источник