Одномерное уравнение теплопроводности. Степанов Алексей. 6 курс 2015-2016 — различия между версиями

Материал из Department of Theoretical and Applied Mechanics
Перейти к: навигация, поиск
(Конечно-разностная схема)
(Выводы)
 
(не показано 14 промежуточных версий 3 участников)
Строка 17: Строка 17:
 
Запишем исходное уравнение в виде
 
Запишем исходное уравнение в виде
 
:<math>\frac{\partial T\left(x,t\right)}{\partial t} = a^2\frac{\partial^2 T\left(x,t\right)}{\partial x^2}</math>
 
:<math>\frac{\partial T\left(x,t\right)}{\partial t} = a^2\frac{\partial^2 T\left(x,t\right)}{\partial x^2}</math>
 +
 +
Введем равномерную сетку <math>0 < x_i < L</math> с шагом разбиения <math>Δx</math>. Шаг по времени назовем <math>Δt</math>
 +
Построим явную конечно-разностную схему:
 +
:<math>\frac{T_i^{n+1}-T_i^{n}}{Δ t} = \frac{a^2}{Δx^2}\left(T_{i+1}^{n} - 2T_{i}^{n}+T_{i-1}^{n}\right)</math>
 +
Где, <math>T_i</math> — значение температуры в <math>i</math>-ом узле.
 +
 +
==Компьютерная реализация==
 +
Компьютерную реализацию программы можно найти в [[File:SAD_HeatConductivity.7z|архиве]]
 +
 +
==Результаты==
 +
{| class="wikitable" width="300" floating="center"
 +
!Количество процессов
 +
!Время рассчета (сек)
 +
|-
 +
|1
 +
|184.2
 +
|-
 +
|2
 +
|91.6
 +
|-
 +
|5
 +
|39.4
 +
|-
 +
|10
 +
|19.2
 +
|-
 +
|20
 +
|9.9
 +
|-
 +
|30
 +
|8.1
 +
|-
 +
|40
 +
|7.5
 +
|}
 +
 +
==Выводы==
 +
* Для малого числа узлов в сетке использовать многопроцессорные вычисления не выгодно: время работы программы увеличивается.
 +
* При увеличении числа процессоров относительный выигрыш во времени уменьшается.
  
 
==Полезные ссылки==
 
==Полезные ссылки==
 
[https://ru.wikipedia.org/wiki/%D0%A3%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D1%82%D0%B5%D0%BF%D0%BB%D0%BE%D0%BF%D1%80%D0%BE%D0%B2%D0%BE%D0%B4%D0%BD%D0%BE%D1%81%D1%82%D0%B8 Уравнение теплопроводности]
 
[https://ru.wikipedia.org/wiki/%D0%A3%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D1%82%D0%B5%D0%BF%D0%BB%D0%BE%D0%BF%D1%80%D0%BE%D0%B2%D0%BE%D0%B4%D0%BD%D0%BE%D1%81%D1%82%D0%B8 Уравнение теплопроводности]

Текущая версия на 13:26, 27 ноября 2015

Цель[править]

Реализовать численное решение одномерно уравнения теплопроводности.

Постановка задачи[править]

Решается однородное уравнение теплопроводности на промежутке [math]\left[0\ldots L\right][/math]

[math]\frac{\partial T\left(x,t\right)}{\partial t} - a^2\frac{\partial^2 T\left(x,t\right)}{\partial x^2} = 0[/math]

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

[math] \begin{cases} T(0,t) = T_0 \\ T(L,t) = T_1 \end{cases}[/math]

И начальным распределением температуры

[math]T(x,t) = T_s[/math]

Конечно-разностная схема[править]

Задача содержит производную по времени первого порядка и производную по пространственной координате второго порядка. Запишем исходное уравнение в виде

[math]\frac{\partial T\left(x,t\right)}{\partial t} = a^2\frac{\partial^2 T\left(x,t\right)}{\partial x^2}[/math]

Введем равномерную сетку [math]0 \lt x_i \lt L[/math] с шагом разбиения [math]Δx[/math]. Шаг по времени назовем [math]Δt[/math] Построим явную конечно-разностную схему:

[math]\frac{T_i^{n+1}-T_i^{n}}{Δ t} = \frac{a^2}{Δx^2}\left(T_{i+1}^{n} - 2T_{i}^{n}+T_{i-1}^{n}\right)[/math]

Где, [math]T_i[/math] — значение температуры в [math]i[/math]-ом узле.

Компьютерная реализация[править]

Компьютерную реализацию программы можно найти в Файл:SAD HeatConductivity.7z

Результаты[править]

Количество процессов Время рассчета (сек)
1 184.2
2 91.6
5 39.4
10 19.2
20 9.9
30 8.1
40 7.5

Выводы[править]

  • Для малого числа узлов в сетке использовать многопроцессорные вычисления не выгодно: время работы программы увеличивается.
  • При увеличении числа процессоров относительный выигрыш во времени уменьшается.

Полезные ссылки[править]

Уравнение теплопроводности