Одномерное уравнение теплопроводности. Буй Ван Шань. 6 курс — различия между версиями
Материал из Department of Theoretical and Applied Mechanics
(→Реализация) |
(→Реализация) |
||
Строка 13: | Строка 13: | ||
==Реализация== | ==Реализация== | ||
− | |||
− | |||
===Конечно-разностная схема=== | ===Конечно-разностная схема=== | ||
[[File:Zavnuischeme.PNG|thumb|300px|Явная разностная схема|right]] | [[File:Zavnuischeme.PNG|thumb|300px|Явная разностная схема|right]] | ||
Строка 25: | Строка 23: | ||
:<math>\frac{U_i^{n+1}-U_i^{n}}{Δ t} = \frac{a^2}{Δx^2}\left(U_{i+1}^{n} - 2U_{i}^{n}+U_{i-1}^{n}\right)</math> | :<math>\frac{U_i^{n+1}-U_i^{n}}{Δ t} = \frac{a^2}{Δx^2}\left(U_{i+1}^{n} - 2U_{i}^{n}+U_{i-1}^{n}\right)</math> | ||
Где, <math>U_i</math> — значение температуры в <math>i</math>-ом узле. | Где, <math>U_i</math> — значение температуры в <math>i</math>-ом узле. | ||
− | + | ===Применение технологии MPI для уравнения теплопроводности=== | |
+ | [[File:Sendandreceive.png|Схема передачи данных между процессами|center]] | ||
===Данные для расчета=== | ===Данные для расчета=== | ||
:<math> \begin{cases} | :<math> \begin{cases} |
Версия 19:02, 11 декабря 2015
Содержание
Постановка задачи
Решается однородное уравнение теплопроводности на промежутке
С граничными условиями
и начальным распределением температуры
- Где : - Известные функции
Реализация
Конечно-разностная схема
Задача содержит производную по времени первого порядка и производную по пространственной координате второго порядка. Запишем исходное уравнение в виде
Введем равномерную сетку
с шагом разбиения . Шаг по времени назовем Построим явную конечно-разностную схему:Где,
— значение температуры в -ом узле.Применение технологии MPI для уравнения теплопроводности
Данные для расчета
Результаты
- Решение
- 2 процесса
- 4 процесса
- Погрешность вычисления
- Зависимость времени расчета от количества процессов при постоянных шагах вычисления: dx = 0.001; dt = 0.000001
Количество процессов | Время рассчета (сек) |
---|---|
2 | 96.58 |
4 | 49.4 |
8 | 28.66 |
10 | 23.63 |
20 | 12.89 |
30 | 9.27 |
40 | 7.52 |
Для малого числа узлов в сетке использовать многопроцессорные вычисления не выгодно: время работы программы неуменьшается. Заметим что при увеличении количества процессов, скорость расчета параллельно повысилась
Ссылки для скачивания
- Скачать реализацию 1d Файл:HeatEquation.rar
- Скачать реализацию 2d Файл:MPI2x.rar