Внимание! Вы не авторизовались на сайте. Ваш IP-адрес будет публично видимым, если вы будете вносить любые правки. Если вы войдёте или создадите учётную запись, правки вместо этого будут связаны с вашим именем пользователя, а также у вас появятся другие преимущества.
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия |
Ваш текст |
Строка 1: |
Строка 1: |
− | ==Цель==
| |
− | Реализовать численное решение одномерно уравнения теплопроводности.
| |
| ==Постановка задачи== | | ==Постановка задачи== |
− | Решается однородное уравнение теплопроводности на промежутке <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 < 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 Уравнение теплопроводности]
| |