Одномерное уравнение теплопроводности. Степанов Алексей. 6 курс 2015-2016 — различия между версиями
Материал из Department of Theoretical and Applied Mechanics
Aleste (обсуждение | вклад) (→Постановка задачи) |
(→Выводы) |
||
(не показано 16 промежуточных версий 3 участников) | |||
Строка 11: | Строка 11: | ||
И начальным распределением температуры | И начальным распределением температуры | ||
:<math>T(x,t) = T_s</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 < 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
Содержание
Цель[править]
Реализовать численное решение одномерно уравнения теплопроводности.
Постановка задачи[править]
Решается однородное уравнение теплопроводности на промежутке
С граничными условиями
И начальным распределением температуры
Конечно-разностная схема[править]
Задача содержит производную по времени первого порядка и производную по пространственной координате второго порядка. Запишем исходное уравнение в виде
Введем равномерную сетку
с шагом разбиения . Шаг по времени назовем Построим явную конечно-разностную схему:Где,
— значение температуры в -ом узле.Компьютерная реализация[править]
Компьютерную реализацию программы можно найти в Файл:SAD HeatConductivity.7z
Результаты[править]
Количество процессов | Время рассчета (сек) |
---|---|
1 | 184.2 |
2 | 91.6 |
5 | 39.4 |
10 | 19.2 |
20 | 9.9 |
30 | 8.1 |
40 | 7.5 |
Выводы[править]
- Для малого числа узлов в сетке использовать многопроцессорные вычисления не выгодно: время работы программы увеличивается.
- При увеличении числа процессоров относительный выигрыш во времени уменьшается.