
- •3.3. Моделирование распределения температуры
- •§3.3.1. Задача теплопроводности Постановка задачи
- •Вариант точного решения задачи
- •Вопросы и задания
- •§3.3.2. Численная модель решения задачи теплопроводности
- •Система основных понятий
- •Вопросы и задания
- •§3.3.3. Вычислительные эксперименты на электронной таблице по расчету распределения температуры
- •Вопросы и задания
- •§3.3.4. Программирование решения задачи теплопроводности
- •Система основных понятий
- •Вопросы и задания
§3.3.2. Численная модель решения задачи теплопроводности
Далеко не всегда удается получить точное решение задачи о распределении температур в виде функции T(x,y). Проблемы возникают, когда расчетная область имеет сложную форму или граничные условия не такие простые, как в рассмотренном выше примере. Для решения таких задач применяются приближенные методы решения. Если приближенный метод позволяет получить решение в дискретном числовом виде, то такой метод называется численным методом. Рассмотрим численный метод решения задачи о распределении температуры, который называется методом сеток.
По-прежнему будем рассматривать прямоугольное сечение стержня размером a×b. На область решения задачи накладывается прямоугольная сетка, как показано на рис.3.21. Шаги сетки по осям X и Y могут быть разными. Мы рассмотрим вариант, при котором шаг по X и по Y одинаковый. Обозначим его величину буквой h. Число шагов по оси Х на отрезке от x=0 до x=a обозначим буквой N, а число шагов по Y от y=0 до y=b – буквой M. Отсюда следует, что
Клетки в полученной сетке будем называть ячейками. Каждая ячейка идентифицируется двумя числами: номером шага по оси Y, который обозначим буквой i, и номером шага по оси X, который обозначим j. Совокупность этих номеров называется индексами ячейки, которые, будем записывать в квадратных скобках через запятую: [i,j] Ячейка в нижнем левом углу имеет индексы [1,1], ячейка в правом верхнем углу – индексы [M,N]. На рис.3.21 изображена область квадратной формы (a=b) и наложенная на нее сетка с параметрами M=N=10. Значение температуры в ячейке [i,j] обозначается Ti,j.
Следовательно, численное решение задачи представляет собой квадратную матрицу, содержащую значения температуры ячеек:
{Ti,j}, i=1,..,M, j=1,..,N
i |
Y |
|
|
|
|
|
|
|
|
|
|
|
|
11 |
|
Т11,1 |
Т11,2 |
Т11,3 |
Т11,4 |
Т11,5 |
Т11,6 |
Т11,7 |
Т11,8 |
Т11,9 |
Т11,10 |
|
|
M=10 |
Т10,0 |
Т10,1 |
Т10,2 |
Т10,3 |
Т10,4 |
Т10,5 |
Т10,6 |
Т10,7 |
Т10,8 |
Т10,9 |
Т10,10 |
Т10,11 |
|
9 |
Т9,0 |
Т9,1 |
Т9,2 |
Т9,3 |
Т9,4 |
Т9,5 |
Т9,6 |
Т9,7 |
Т9,8 |
Т9,9 |
Т9,10 |
Т9,11 |
|
8 |
Т8,0 |
Т8,1 |
Т8,2 |
Т8,3 |
Т8,4 |
Т8,5 |
Т8,6 |
Т8,7 |
Т8,8 |
Т8,9 |
Т8,10 |
Т8,11 |
|
7 |
Т7,0 |
Т7,1 |
Т7,2 |
Т7,3 |
Т7,4 |
Т7,5 |
Т7,6 |
Т7,7 |
Т7,8 |
Т7,9 |
Т7,10 |
Т7,11 |
|
6 |
Т6,0 |
Т6,1 |
Т6,2 |
Т6,3 |
Т6,4 |
Т6,5 |
Т6,6 |
Т6,7 |
Т6,8 |
Т6,9 |
Т6,10 |
Т6,11 |
|
5 |
Т5,0 |
Т5,1 |
Т5,2 |
Т5,3 |
Т5,4 |
Т5,5 |
Т5,6 |
Т5,7 |
Т5,8 |
Т5,9 |
Т5,10 |
Т5,11 |
|
4 |
Т4,0 |
Т4,1 |
Т4,2 |
Т4,3 |
Т4,4 |
Т4,5 |
Т4,6 |
Т4,7 |
Т4,8 |
Т4,9 |
Т4,10 |
Т4,11 |
|
3 |
Т3,0 |
Т3,1 |
Т3,2 |
Т3,3 |
Т3,4 |
Т3,5 |
Т3,6 |
Т3,7 |
Т3,8 |
Т3,9 |
Т3,10 |
Т3,11 |
|
2 |
Т2,0 |
Т2,1 |
Т2,2 |
Т2,3 |
Т2,4 |
Т2,5 |
Т2,6 |
Т2,7 |
Т2,8 |
Т2,9 |
Т2,10 |
Т2,11 |
|
1 |
Т1,0 |
Т1,1 |
Т1,2 |
Т1,3 |
Т1,4 |
Т1,5 |
Т1,6 |
Т1,7 |
Т1,8 |
Т1,9 |
Т1,10 |
Т1,11 |
|
I=0 |
|
Т0,1 |
Т0,2 |
Т0,3 |
Т0,4 |
Т0,5 |
Т0,6 |
Т0,7 |
Т0,8 |
Т0,9 |
Т0,10 |
|
X |
|
J=0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
N=10 |
11 |
j |
Рис.3.21.Область решения задачи. Дискретное сеточное представление решения
На рис.3.21 серой заливкой отмечены дополнительные ячейки, примыкающие снаружи к границам расчетной области. Они нужны нам будут в дальнейшем для учета граничных условий. Ячейки, примыкающие к границам, имеют следующие индексы:
на 1-й границе: [0,j], j=1,..,10
на 2-й границе: [i,0], i=1,..,10
на 3-й границе: [11, j], j=1,..,10
на 4-й границе: [i, 11], i=1,..,10
Определим граничные значения для температур. Пусть на 1-й границе поддерживается постоянная температура 00, а три другие границы поддерживаются при температуре 1000. Следовательно, будем считать, что:
To,j=0, T11,j=100, для j=1,..,10
Ti,0 = Ti,11 = 100, для i=1,..,10
А теперь сформулируем основное моделирующее предположение! Будем считать, что в пределах каждой ячейки установившаяся температура является постоянной величиной. Это означает, что температура между соседними ячейками меняется скачками. На самом деле с изменением координат температура изменяется непрерывным образом. Сделанное нами моделирующее предположение будет тем ближе к реальной физической ситуации, чем меньше размер ячеек, т.е. чем гуще сетка, накладываемая на область решения задачи.
Получим формулу для расчета Ti,j исходя из закона сохранения энергии. Рассмотрим отдельную ячейку, как показано на рис.3.22. Температура в ячейке равна Ti,j . Данная ячейка имеет общие границы с четырьмя соседними ячейками, температуры которых равны: Ti-1,j , Ti+1,j , Ti,j-1 , Ti,j+1.
|
Ti,j+1 |
|
Ti-1,j |
Ti,j |
Ti+1,j |
|
Ti,j-1 |
|
Рис.3.22.
Между соседними ячейками происходит теплообмен, мерой которого является теплопоток - количество теплоты, переносимое через границу за единицу времени. По закону теплофизики величина теплопотока пропорциональна разности температур ячеек. Поэтому величина теплопотока, протекающего через границу от ячейки [i-1,j] к ячейке [i,j], равна: K·( Ti-1,j - Ti,j ). Здесь К – коэффициент пропорциональности, который зависит от теплопроводных свойств материала и размера (площади) границы, разделяющей ячейки. Для всех границ ячеек значение К будет одинаковыми благодаря тому, что ячейки квадратные.
Если Ti-1,j > Ti,j , то теплопоток положительный (тепло втекает в ячейку [i,j]). Если Ti-1,j < Ti,j , то теплопоток отрицательный, т.е. тепло вытекает. Если температуры равны, то теплопоток равен нулю.
Поскольку температура ячейки не изменяется, значит ее тепловая энергия остается постоянной. Отсюда следует, что суммарное количество теплоты, передаваемое через границы ячейки, равно нулю. Иначе говоря: сколько теплоты втекает в ячейку, столько и вытекает. Просуммируем теплопотоки к ячейке [i,j] через ее четыре границы и приравняем эту сумму к нулю:
K·( Ti-1,j - Ti,j ) + K·( Ti+1,j - Ti,j ) + K·( Ti,,j-1 - Ti,j ) + K·( Ti,,j+1 - Ti,j ) = 0
Это уравнение справедливо для всех ячеек сетки:
i=1,..,M; j=1,..,N.
Если разделить уравнение на К и привести подобные члены, то получим:
Ti-1,j + Ti+1,j + Ti,,j-1 + Ti,,j+1 - 4Ti,j = 0
Отсюда следует:
,
(i=1,..,M;
j=1,..,N)
(3.38)
Смысл полученной формулы следующий: значение установившейся температуры в каждой ячейке равно среднему арифметическому от значений температур в четырех пограничных с ней ячейках.
Формула (3.38) представляет собой систему, состоящую из M×N линейных алгебраических уравнений. Запишем одно уравнение из этой системы, соответствующее значениям i=1, j=1, т.е. нижней левой ячейке.
Здесь два слагаемых
относятся
к граничным ячейкам, значения которых
известны из граничных условий. Для
описанных выше граничных условий
получим:
Следовательно, в этом уравнении остается
только три неизвестных:
.
Во всех уравнениях, относящихся к
приграничным ячейкам, имеются слагаемые
с известными граничными значениями.
Система уравнений (2) содержит M×N
уравнений и столько же неизвестных.
Такая система называется полной и у нее
имеется единственное решение
Метод итерации
Перепишем еще раз систему уравнений для решения задачи теплопроводности в квадратной области на сетке, размером M=10, N=10.
To,j=0 ( j=1,..,10);
T11,j=100 ( j=1,..,10);
Ti,0 = 100 ( i=1,..,10);
Ti,11 = 100 ( i=1,..,10);
( i=1,..,10; j=1,..,10 ). (3.39)
Это система из 100 линейных алгебраических уравнений, содержащая 100 неизвестных величин: {Ti,j}, i=1,..,10, j=1,..,10. Существуют разнообразные методы решения таких систем. Мы здесь воспользуемся методом, который называется «метод итераций».
Слово «итерации» означает «последовательные
приближения». Алгоритм итераций
следующий. Задается некоторое начальное
приближение к искомому решению. Будем
называть его нулевым приближением, и
записывать так:
.
Здесь и далее число вверху в круглых
скобках будет обозначать номер
приближения. На основании нулевого
приближения по некоторой итерационной
формуле вычисляется первое приближение:
.
Затем вычисляется второе приближение:
,
и т.д. С увеличением номера итерации,
получаемые решения должны все ближе
приближаться к точному решению задачи.
Если это происходит, то говорят, что
итерационный процесс сходится. В таком
случае вычисление последовательных
приближений можно продолжать до тех
пор, пока не будет достигнута требуемая
точность.
Для сходимости итерационного процесса, система уравнений (3.39) должна удовлетворять определенным условиям. Мы не будем здесь разбирать вопрос об условии сходимости метода итераций. Скажем только, что система уравнений (3.39) таким условиям удовлетворяет.
Теперь запишем итерационную формулу. Для каждого уравнения из системы (3.39) эта формула выглядит следующим образом:
,
( k=1,2,…
) (3.40)
Здесь k – это номер итерации (приближения).
Для того чтобы начать итерационные вычисления, нужно задать начальное (нулевое) приближение. Существует доказательство того факта, что если выполняется условие сходимости метода итераций, то вычислительный процесс сойдется к решению системы от любого начального приближения. Например, в качестве начального приближения можно задать нулевые значения температуры во всех внутренних ячейках сетки:
(3.41)
Далее последовательно по формуле (3.40) для всех ячеек сетки производится вычисление первого приближения, затем второго и т.д. Итерационный процесс завершается, когда для каждой ячейки разность между значениями температуры, полученными на последней и предпоследней итерации, станет по абсолютной величине меньше заданной малой величины ε. Это условие запишем так:
(3.42)
Например, если мы хотим, чтобы в процессе итерации во всех ячейках сетки в вычисленных значениях температуры установились бы 4 цифры после запятой, то достаточно принять ε=10-4.