Численные методы (решение ур. теплопроводности в двумерном случае)

polyanich

Решение ур. теплопров. в одномерном случае легко можно на компе забацать написав разностную схему и сделав прогонку. Но что делать в двумерном случае? Разностную схему написать тоже можно, но как реализовать прогонку? или она только для одномерных случаев? И как тогда численно решать в таком случае?

z-helenium

 В одномерном и в многомерных случаях можно использовать явные схемы (производная по времени заменяется "разностью вперёд": (u[n+1] - u[n])/t, оператор Лапласа по компонентам (u[m+1] + u[m-1] - 2*u[m])/(h*h) и обойтись без прогонки.
  В двумерном, в частности, случае при этом получается условно устойчивая схема при t <= h*h/4
См. Н. С. Бахвалов, Н. П. Жидков, Г. М. Кобельков, "Численные методы", глава "Методы решения уравнений в частных производных", параграф "Решение параболических уравнений с несколькими пространственными переменными".

polyanich

ну так да, мы воспользуемся разностными схемами, которые ты написал, но а дальше то их как решать я из твоего сообщения так и не понял...
в одномерном случае была прогонка, а вдвумерном как разрешить получившуюся систему?
щас правда ещё раз перечитаю, что ты указал, может я просто не догоняю

Koldunel

у меня в курсаче было моделирование тепловых задач. может чем смогу помочь. точнее не я, а "SolidWorks", в котором я моделировал.

z-helenium

 Схема явная (т. е. u[n+1] явно выражается через значения u[m, k] на нижних временных слоях поэтому с расчетом проблем нет, никакие системы уравнений решать не нужно.
Просто, начиная с начальных условий (нулевой слой, при n = 0) вычисляешь в каждой точке сетки (mh, kh) значение u[m, k] на следующем временном слое, по явной формуле (1 <= m <= M, 1 <= k <= K).
Достаточно хранить значения сеточной функции u только на одном временном слое.
При m = 0, или m = M, или k = 0, или k = K возникают свои уравнения, зависящие от вида краевых условий (без них число неизвестных превысит число уравнений).

BelkinWhite

Для k=K отлично проходит твоя разностная схема (для k=0 или тоже самое t=0 обычно задается начальное условие). Для остальных оставшися двух случаев потяжелее будет.

polyanich

А - кажись понял.
т.е. самый первый слой по времени - это и есть начальные условия, и там все значения u известны
а дальше по формуле.
Только вот я не совсем понял про какие возникающие при m = 0, или m = M, или k = 0, или k = K уравнения ты говоришь. Я так понял что при m = 0, или m = M, или k = 0, или k = K мы просто пользуемся значениями для u из граничные условий?

seregaohota

Если у тебя на гранце значения функции заданы из граничных условий, то ты просто берёшь их из граничных условий.
Но граничные условия разные бывают, производная пространственная чему-нибудь равна - тогда и вылезают для граничных точек свои уравнения - псчитав весь очередной по времени слой без граничных точек, на границе значения получаешь из тех разностных уравнений, которые являются дискретными аналогами граничных условий и из них собственно и получены.
Оставить комментарий
Имя или ник:
Комментарий: