Одномерное уравнение теплопроводности. Буй Ван Шань. 6 курс

Материал из Department of Theoretical and Applied Mechanics
Версия от 02:44, 17 ноября 2015; Buivansanh (обсуждение | вклад) (Реализация MPI)

Перейти к: навигация, поиск

Постановка задачи

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

[math]\frac{\partial U\left(x,t\right)}{\partial t} - k^2\frac{\partial^2 U\left(x,t\right)}{\partial x^2} = f(x,t)[/math]

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

[math] \begin{cases} U(a,t) = M1(t) \\ U(b,t) = M2(t) \end{cases}[/math]

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

[math]U(x,0) = U0(x)[/math]
  • Где f(x,t), U0(x), M1(t), M2(t) - Известные функции

Реализация MPI

  • Данные для расчета
[math] \begin{cases} a=0;b=1 M1(0,t)=6t+0.887 M2(t)=0.0907 U0(x)=cos(x+0.48) f(x,t)=0 k=1 \end{cases}[/math]

Результаты

  • Решение
    • 2 процесса

Result.PNG

    • 4 процесса

Result2.png

  • Погрешность вычисления
  • Зависимость скорости расчета от количества процессов при постоянных шагах вычисления
    • Шаг по пространстве dx = 0.0001
    • Шаг по времени dt = 0.000001

Processing time.PNG

Количество процессов Время рассчета (сек)
2 96.58
4 49.4
8 28.66
10 23.63
20 12.89
30 9.27
40 7.52

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