Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

8.grid_methods

.pdf
Скачиваний:
25
Добавлен:
03.06.2015
Размер:
159.21 Кб
Скачать

MPI: сеточные методы

НОЦ МФТИ 2011

Введение

Основной принцип — декомпозиция по данным

Пример уравнения теплопроводности для одно- и двумерного случая

Явные схемы

Итерационных процесс

Обмен происходит на границах областей (приграничные ячейки, ghost cells)

Число приграничных ячеек зависит от шаблона схемы

Структурные/неструктурные сетки

Уравнение теплопроводности

u

2 u

2 u

 

 

 

 

t =c

 

 

 

 

 

 

- уравнение в частных производных

x2

y2

 

 

 

ukn 1=ukn c

 

ukn

12 ukn ukn

1

- разностная схема в одномерном случае

 

 

 

h2

 

 

 

 

uin, j1=uni , j c h2 uin1, j uni , j 14 uni , j uin 1, j uni , j 1

-разностная схема в двумерном случае

- шаг по времени

h- шаг по координате

Расчетная область (1d)

k

n + 1

 

n k-1 k k+1

Для расчета следующего узла требуется три узла с предыдущего слоя

Индексы узлов k, k+1, k-1

На границах расчетной области выставлены граничные условия

Хранится два временных слоя n и n+1

Декомпозиция по данным

Разделение расчетной области между процессами на части по координате

0

1

2

3

Декомпозиция по данным

Каждый процесс имеет свою часть расчетной области, на которой обновляет значение функций

При расчете значений в ячейках на границах не хватает данных для перехода на следующий временной слой

Требуются данные с соседних процессов для продолжения расчета

Перед каждый шагом необходима парасылка

Процесс 0

При расчете внутри области достаточно данных

При расчете на границах не достаточно данных

k n + 1

Недостаточно данных

n

?

k-1 k k+1

Приграничные ячейки (ghost)

0

1

2

3

Необходимо хранить несколько ячеек на границе расчетной области. Значения берутся от соседних процессов. Такие ячейки называются приграничными или ghost cells. В зависимости от шаблона разностной схемы число ячеек может менятся.

Приграничные ячейки - обмен

0

1

2

3

Для поддержания актуальных данных необходим обмен значениями с соседними процессами.

Различие последовательного и параллельного алгоритма

Последовательный

Загрузка данных

Начало итераций

Обсчет нового временного слоя

Конец итераций

Сохранение результата

Параллельный

Загрузка данных

Начало итераций

Обсчет нового временного слоя

Обмен приграничными слоями

Конец итераций

Сбор результата

Сохранение результата

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]