Редактирование: Одномерное уравнение теплопроводности. Фролова Ксения. 6 курс

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

Внимание! Вы не авторизовались на сайте. Ваш IP-адрес будет публично видимым, если вы будете вносить любые правки. Если вы войдёте или создадите учётную запись, правки вместо этого будут связаны с вашим именем пользователя, а также у вас появятся другие преимущества.

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия Ваш текст
Строка 8: Строка 8:
 
   U(0,t) = T_0 \\
 
   U(0,t) = T_0 \\
 
   U(L,t) = T_1
 
   U(L,t) = T_1
  \end{cases}</math><br>
+
  \end{cases}</math>
Используемые величины параметров:<br>
 
<math>L=1, T_0=0, T_1=-100</math><br>
 
 
 
 
==Используемый метод==
 
==Используемый метод==
 
В вычислительных системах с распределенной памятью процессоры работают независимо друг от друга. Для организации параллельных вычислений в таких условиях необходимо иметь возможность распределять вычислительную нагрузку и организовать информационное взаимодействие (передачу данных) между процессорами. Параллельное программирование служит для создания программ, эффективно использующих вычислительные ресурсы за счет одновременного исполнения кода на нескольких вычислительных узлах. Для создания параллельных приложений используются параллельные языки программирования и специализированные системы поддержки параллельного программирования, такие как MPI и OpenMP. Итак, MPI - это библиотека передачи сообщений, собрание функций на C/C++ (или подпрограмм в Фортране), облегчающих коммуникацию (обмен данными и синхронизацию задач) между процессами параллельной программы с распределенной памятью. Акроним MPI установлен для Message Passing Interface (интерфейс передачи сообщений). Под параллельной программой в рамках MPI понимается множество одновременно выполняемых процессов. Все процессы порождаются один раз, образуя параллельную часть программы. Каждый процесс работает в своем адресном пространстве, никаких общих переменных или данных в MPI нет. Процессы могут выполняться на разных процессорах, но на одном процессоре могут располагаться и несколько процессов (в этом случае их исполнение осуществляется в режиме разделения времени).
 
В вычислительных системах с распределенной памятью процессоры работают независимо друг от друга. Для организации параллельных вычислений в таких условиях необходимо иметь возможность распределять вычислительную нагрузку и организовать информационное взаимодействие (передачу данных) между процессорами. Параллельное программирование служит для создания программ, эффективно использующих вычислительные ресурсы за счет одновременного исполнения кода на нескольких вычислительных узлах. Для создания параллельных приложений используются параллельные языки программирования и специализированные системы поддержки параллельного программирования, такие как MPI и OpenMP. Итак, MPI - это библиотека передачи сообщений, собрание функций на C/C++ (или подпрограмм в Фортране), облегчающих коммуникацию (обмен данными и синхронизацию задач) между процессами параллельной программы с распределенной памятью. Акроним MPI установлен для Message Passing Interface (интерфейс передачи сообщений). Под параллельной программой в рамках MPI понимается множество одновременно выполняемых процессов. Все процессы порождаются один раз, образуя параллельную часть программы. Каждый процесс работает в своем адресном пространстве, никаких общих переменных или данных в MPI нет. Процессы могут выполняться на разных процессорах, но на одном процессоре могут располагаться и несколько процессов (в этом случае их исполнение осуществляется в режиме разделения времени).
Строка 21: Строка 18:
 
Отрезок [0..L] разбивается на интервалы согласно количеству процессов в выполняемой параллельной программе. На каждом полученном таким способом интервале процесс интегрирования осуществляется отдельным процессом, при этом в связи с использованием явной схемы соседние процессы должны обмениваться крайними значениями, полученными на предыдущем шаге, для выполнения следующего шага.<br>
 
Отрезок [0..L] разбивается на интервалы согласно количеству процессов в выполняемой параллельной программе. На каждом полученном таким способом интервале процесс интегрирования осуществляется отдельным процессом, при этом в связи с использованием явной схемы соседние процессы должны обмениваться крайними значениями, полученными на предыдущем шаге, для выполнения следующего шага.<br>
 
Программа для решения одномерного уравнения теплопроводности:
 
Программа для решения одномерного уравнения теплопроводности:
[[Медиа:HeatConductivity_Frolova.rar| программа]]
 
 
 
==Результаты==
 
==Результаты==
Найдено решение однородного уравнения теплопроводности в одномерной постановке для 250000 узлов.<br>
+
Найдено решение однородного уравнения теплопроводности в одномерной постановке.<br>
 
{| class="wikitable" width="300" floating="center"
 
{| class="wikitable" width="300" floating="center"
!Количество процессов [-]
+
!Количество процессов
!Время рассчета [сек]
+
!Время рассчета (сек)
 
|-
 
|-
 
|1  
 
|1  
|46.6904
+
|184.2
 
|-
 
|-
 
|5
 
|5
|11.4576
+
|39.4
 
|-
 
|-
 
|10
 
|10
|4.79279
+
|19.2
 
|-
 
|-
 
|30
 
|30
|1.76542
+
|8.1
 
|-
 
|-
 
|40
 
|40
|1.38313
+
|7.5
 
|}
 
|}
<gallery widths=360px heights=237px perrow = 1>
+
<gallery widths=360px heights=233px perrow = 1>
Файл:F_2.jpg
+
Файл:Plot_1D.jpg
 
</gallery>
 
</gallery>
Показано, что при увеличении количества процессов уменьшается время расчета. Также из приведенного графика видно, что для малого числа узлов в сетке использование большого количества процессов не обосновано - выигрыш во времени незначителен.
+
Показано, что при увеличении количества процессов уменьшается время расчета.
Вам запрещено изменять защиту статьи. Edit Создать редактором

Обратите внимание, что все добавления и изменения текста статьи рассматриваются как выпущенные на условиях лицензии Public Domain (см. Department of Theoretical and Applied Mechanics:Авторские права). Если вы не хотите, чтобы ваши тексты свободно распространялись и редактировались любым желающим, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого.
НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ МАТЕРИАЛЫ, ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ!

To protect the wiki against automated edit spam, we kindly ask you to solve the following CAPTCHA:

Отменить | Справка по редактированию  (в новом окне)