Вы находитесь на странице: 1из 13

МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ

РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное автономное образовательное учреждение
высшего образования
«ТЮМЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»

ФИЗИКО-ТЕХНИЧЕСКИЙ ИНСТИТУТ
КАФЕДРА МОДЕЛИРОВАНИЯ ФИЗИЧЕСКИХ ПРОЦЕССОВ И СИСТЕМ

ЧИСЛЕННЫЕ МЕТОДЫ В МЕХАНИКЕ ЖИДКОСТИ И ГАЗА

Отчёт по лабораторной работе №2

«Численное решение уравнения теплопроводности»

Выполнил: Тыжненко
студент 3 курса Николай
группы 23Ф181-2 Дмитриевич
очной формы обучения

Проверила: Соколюк
Любовь
Николаевна

Тюмень, 2020
Оглавление
Оглавление...............................................................................................................2
Введение...................................................................................................................3
Численное решение.................................................................................................5
Программный код....................................................................................................9
Вывод......................................................................................................................12

2
Введение
Изучение процессов теплообмена всегда играло видную роль в
развитии техники и естествознания. В конце позапрошлого и в начале
прошлого веков исследования в этой области стимулировались главным
образом потребностями возникшей в то время теплоэнергетики. В годы после
второй мировой войны развитие авиации, атомной энергетики, ракетно-
космической техники выдвинуло новые постановки задач теплообмена и
вместе с тем – новые, более жесткие требования к полноте и надежности
прогностических возможностей теории.
Уравнением теплопроводности называют уравнение в частных
производных второго порядка. Общий вид этого уравнения:
∂u
=α ∆ u .
∂t
В одномерном случае уравнение теплопроводности имеет следующую
форму записи:
∂u ∂2 u
=α 2 , (1)
∂t ∂x
где u — искомая функция, t — время, α — коэффициент
температуропроводности, который вычисляется по формуле:

λ
α= .
ρc
Для уравнения теплопроводности также как и для волнового уравнения
ставятся как начальные, так и краевые задачи. Найдем решение уравнения
теплопроводности в следующей постановке задачи:
u ( x , 0 ) =φ ( x ) , для 0< x< l; (2)
u ( 0 , t ) =μ 1 ( t ) ,u ( l ,t )=μ 2 ( t ) , для t>0 , (3)

таким образом, решение уравнения теплопроводности ищется в тонком


стержне: D={( x , t): 0≤ x ≤ l ,t ≥0 }.

3
Применим метод разделения переменных - метод Фурье. Представим
нетривиальное (отличное от тождественного нуля) частное решение,
удовлетворяющее начальным и граничным условиям, в виде произведения:
u ( x , t )=X ( x ) T (t )≠ 0. (4)

Подставим его в уравнение (1) и разделим на произведение X ( x ) T (t):


T ' (t ) X '' ( x )
X ( x ) T ' ( t )=α 2 X '' ( x ) T ( t ) ↔ = =−λ , (5)
α2 T ( t ) X ( x )

или T ' ( t )+ λ α 2 T ( t )=0 и X ' ' ( x ) + λ X ( x )=0.


Используя граничные условия, приходим к выводу, что функция X ( x )
должна быть нетривиальным решением краевой задачи с параметром λ :
X ' ' ( x ) + λ X ( x )=0 , 0< x <l , X ( 0 )= X ( l )=0. (6)

Задачу по отысканию всех значений параметра λ , при которых


соответствующие им нетривиальные решения краевой задачи (6), называют
задачей Штурма-Лиувилля.
Подробное решение этой задачи слишком затруднительно и объемно,
поэтому воспользуемся готовым решением. Собственные числа равны:
πn 2
λ n=( ) ,
l
а соответствующие им собственные функции:
πnx
X n=sin .
l
Для каждого λ=λ n решим уравнение T ' ( t )+ λ α 2 T ( t )=0. Это линейное
однородное дифференциальное имеет общее решение:
2
− (απnl ) t .
T n= A n e
2
απn
−( )
t
Частные решения πnx l
уравнения
un ( x , t )=X n ( x ) T n ( t )=sin ∗A n e
l
теплопроводности образуют бесконечную последовательность. Общее
решение уравнения представим в виде ряда:
2
∞ ∞ απn
−( ) . (7)
t
πnx l
u ( x , t )=∑ X n T n=∑ sin ∗A n e
n=1 n=1 l

4
Коэффициенты An находим из начального условия
∞ ∞
πnx πnx
u ( x , 0 ) =φ ( x ) ↔ φ ( x )=∑ sin ∗An e 0 ↔ φ ( x )=∑ A n sin . Этот ряд является рядом
n=1 l n=1 l

Фурье для функции φ ( x ). Его коэффициенты можно вычислить по формулам


из курса математического анализа:
l
2 πnx
An = ∫ φ ( x ) sin dx .
l 0 l

Теперь остается только подставить An в (7):


∞ l απn 2
−( ).
πnx 2 πnξ t
u ( x , t )=∑ sin
n=1 l (
∗ ∫ φ ( ξ ) sin
l 0 l
dξ ∗e
) l

Таким образом, мы получили решение уравнения теплопроводности


при заданных конечных и начальных условиях.

5
Численное решение
Будем рассматривать одномерное уравнение теплопроводности (1) с
граничными и начальными условиями (2) и (3). Т.е. Анализируется
теплопередача через плоскую бесконечную пластину или изолированный
стержень. На одной границе пластины поддерживается постоянная
температура T ¿¿, на другой границе – температура T ¿. Начальная температура
равна T 0, источники тепловыделения внутри пластины отсутствуют.

Условия (2) и (3) примут следующий вид:


t=0 :T =T 0 , 0 ≤ x ≤ L;

x=0 :T =T ¿, t> 0¿ ;

x=L :T =T ¿ ,t >0.

Для того чтобы дать полное математическое описание


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

Вт кг Дж
λ=46 , ρ=7800 3 , с=460 .
м∗℃ м кг∗℃

Будем решать эту задачу методом конечных разностей на равномерной


сетке. Разобьем пластину на N−1 равных промежутков.

6
Аппроксимируем частные производные в уравнении теплопроводности
их соответствующими конечными разностями:
T ni +1−T in T n+1 n+1
i+1 −2T i +T n+1
i−1
=α 2
,i=2 , … , N−1 ; n ≥ 0.
τ h
В результате аппроксимации получаем систему линейных
алгебраических уравнений. Данный численный метод является неявным, так
как поле температуры на новом временном слое представлено неявно, и для
его определения необходимо решать СЛАУ.

Приведем систему к более удобному виду:


Ai T ni +1 −Bi T n+1 i−1 =F i , (8)
+C i T n+1
+1
i

λ 2 λ ρc − ρc n
где Ai=Ci= 2 , Bi= 2 + τ , F i=
τ
T i . Такие уравнения называют
h h
трехточечными разностными уравнениями второго порядка. Система (8)
должна решаться на каждом временном шаге.
Предположим, что решение этой системы существует и его общий вид:
T n+1 n +1
i =α i T i+1 + β i . (9)

Уменьшим в (9) индекс i на единицу и полученное выражение


подставим в (6), тогда:

7
n+1 Ai n +1 C i β i−1−F i
Ti = T i +1 + .
Bi−C i α i−1 Bi −Ci α i −1

Проводя соответствие с формулой (9), можно определить формулы для


вычисления коэффициентов α i и β i:
Ai C i β i−1−Fi
α i= , β i= . (10)
Bi −Ci α i−1 Bi−C i α i−1

Для определения коэффициентов необходимо знать α 1 и β 1, которые


легко находятся из левого граничного условия:
1 =α 1 T 2 + β 1=T ¿¿ ,
T n+1 n+ 1

α 1=0 , β 1=T ¿ ¿.

Таким образом, решение уравнений вида (8) описывается способом


прогонки. Данный способ заключается в вычислении по трем формулам:
нахождение прогоночных коэффициентов α i, β i (прямая прогонка) по
формулам (10) (i=2,3 , … . N −1) и затем получение неизвестных T n+1
i (
i=N −1, N −2, … , 2) по формуле (9) (обратная прогонка).

Для успешного применения метода прогонки нужно, чтобы в процессе


вычислений не возникло ситуаций с делением на нуль, а при больших
размерностях систем не должно быть быстрого роста погрешностей
округлений.
Метод прогонки является устойчивым, если выполнено следующее
условие:
|Bi|>| A i|+|C i|, ∀ i=2,3 , … . N −1и|α1|<1 →|αi|<1
Аппроксимация дифференциальной задачи, выполнена с первым
порядком точности по времени τ и вторым по пространственной координате
h.

8
Рис.4. Блок-схема задачи

9
Программный код
from matplotlib import pyplot as plt
import random
import math
#a = float( input ( 'Введите коэффициент температуропроводности
a = ') )
a = 1.16 * (10^5) # коэффициент температуропроводности (м^2 /c)
l = 10 # длина стержня (м)
t = 10 # время установления температурного режима (с)

# вводим конечно - разностную сетку

h = 1 # шаг по пространственной координате


I = int( l / h ) # количество шагов
Tleft = 0 # температура на левой границе (К)
Tright = 0 # температура на правой границе (К)
T0 = 20 # температура в начальный момент времени (К)
tau = 1 # шаг по времени
N = int( t / tau ) # количество шагов по времени

# создаем необходимые массивы : T - массив с результатами


(распределение температуры в стержне) alpha , betta и F - массивы
прогоночных коэффициентов

T = [[0] * I for j in range (N)]


Tan = [0] * I
alpha = [[0] * I for j in range (N)]
betta = [[0] * I for j in range (N)]

# вводим коэффициенты системы уравнений

A=a/(h*h)
B = ( 2 * a / ( h * h ) ) + 1 / tau
F = [[0] * I for j in range (N)]

# следующий цикл заполняет разностную схему начальными и


граничными условиями

for i in range(N):
for j in range(I):
T[i][0] = Tleft # температура на левой границе
# Tright = random.randint(Tright - 5, Tright + 5)
T[i][I - 1] = Tright # температура на правой границе
T[0][j] = T0 # температура в начальный момент времени

10
# заполнение коэффициентов, используемых в решении
уравнения теплопроводности

for i in range(N):
alpha[i][0] = 0 # коэффициент альфа нулевое равен температуре
на левой границе
betta[i][0] = Tleft # коэффициент бетта нулевое равен
температуре на правой границе

# расчетный цикл

for i in range(N - 1):


for j in range(1 , I-1): # прямой ход
F[i][j] = - T[i][j] / tau
alpha[i][j] = A / ( B - alpha[i][j - 1] )
betta[i][j] = ( F[i][j] - A * betta[i][j - 1] ) / ( A * alpha[i][j - 1] -
B)
for j in reversed (range(0 , I - 1)): # обратный ход
T[i + 1][j] = alpha[i][j] * T[i + 1][j + 1] + betta[i][j]
j -= 1

# аналитическое решение. Данное решение получается при


граничных условиях Tright = Tleft = 0

for i in range(I):
for n in range(1 , 2):
Tan[i] = Tan[i] + ( 2 * T0 / ( 3.14 * n ) ) * ( 1 - math.pow( - 1 ,
n ) ) * math.exp( - math.pow(a * 3.14 * n / l, 2) * t ) * math.sin( 3.14 * n * i /
l)

# визуализация

x = [0] * I
y = [0] * I
for i in range(I):
x[i] = i * h
y[i] = T[N - 1][i]

plt.subplot(2, 1, 1)
plt.plot(x, y, 'o-')
plt.title('Численное решение')
plt.ylabel('Температура')

plt.subplot(2, 1, 2)
plt.plot(x, Tan, '.-')

11
plt.title('Аналитическое решение')
plt.xlabel('x')
plt.ylabel('Температура')

plt.subplots_adjust(top=0.92, bottom=0.08, left=0.10, right=0.95,


hspace=0.3,
wspace=0.35)
plt.show()

12
Вывод

Рис.5. Аналитическое решение уравнения теплопроводности

Рис.6. Численное решение уравнения теплопроводности

В ходе данной лабораторной работы были получены численное и


аналитическое решения уравнения теплопроводности, приведен способ
решения задачи Коши для дифференциального уравнения второго порядка, и
получен график распределения температуры в однородном изотропном
стержне.

13

Вам также может понравиться