Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

informatika / инфа / zadacha_dirihle_dlja_uravnenija_puassona / Занятие 4 -Задача Дирихле для уравнения Пуассона

.doc
Скачиваний:
33
Добавлен:
03.03.2015
Размер:
56.83 Кб
Скачать

2

Задача Дирихле для уравнения Пуассона

Многие задачи физики и механики сводятся к уравнению в частных производных с заданными значениями функции на границе расчётной области (изгиб мембраны, стационарного распределения температуры в конструкциях, кручения стержня произвольного сечения и т.д.)

(1)

Если область прямоугольная, то задавая число точек по координатам = и , получаем соответствующую сетку с шагами по направлению , по направлению .

Аппроксимируя вторые производные:

Получаем

.

Выделяем диагональный член и задаём следующую итерационную схему:

.

при этом

,

краевые условия: при ; , ,

при ; , .

Задача реализована следующей программой на Qbasic 4.5

5 CLS

10 N1 = 8: N2 = 6: DL1 = 1.0: DL2 = 1.0

20 DIM U(N1, N2): G = 10: S = 40: C = -400

30 H1 = DL1 / N1: H2 = DL2 / N2

40 FOR I = 0 TO N1

50 X = H1 * I

60 FOR J = 0 TO N2

70 Y = H2 * J

75 U(I, J) = 0

80 IF ((I = 0)OR(I = N1)) THEN U(I,J)=4*G*Y*(DL2-Y)/DL2

90 IF ((J = 0)OR(J = N2)) THEN U(I,J)=4*S*X*(DL1-X)/DL1

100 NEXT J: NEXT I

110 K = 0

120 Z = 0

130 FOR I = 1 TO N1 - 1

140 FOR J = 1 TO N2 - 1

150 R = U(I, J)

160 P = (U(I - 1, J) + U(I + 1, J)) / H1 / H1

161 P = P + (U(I, J - 1) + U(I, J + 1)) / H2 / H2 - C

162 U(I, J) = P / (2 / H1 / H1 + 2 / H2 / H2)

170 Z = Z + ABS(U(I, J) - R): NEXT J: NEXT I

180 K = K + 1

190 IF ((Z > .001) AND (K < 100)) THEN 120

200 PRINT " k = ", K

210 FOR J = 0 TO N2

220 FOR I = 0 TO N1: PRINT " ", U(I, J); : NEXT I

221 PRINT

230 NEXT J

240 END

Результаты вычислений:

k = 62

0 17.5 30 37.5 40 37.5 30 17.5 0

5.5555 23.055 35.5554 43.0554 45.5554 43.0554 35.5554 23.0555 5.5555

8.8888 26.3887 38.8887 46.3886 48.8886 46.3887 38.8887 26.3888 8.8888

10 27.4998 39.9998 47.4997 49.9997 47.4998 39.9998 27.4999 10

8.8888 26.3888 38.8887 46.3887 48.8887 46.3887 38.8887 26.3888 8.8888

5.5555 23.0555 35.5554 43.0554 45.5554 43.0554 35.5555 23.0555 5.5555

0 17.5 30 37.5 40 37.5 30 17.5 0