Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции - Чернышева.doc
Скачиваний:
7
Добавлен:
13.11.2019
Размер:
1.03 Mб
Скачать

Метод Рунге-Кутта 4

1.

2. Расчётные формулы:

i – какого приближения; j – для какого параметра.

3. Алгоритм распараллеливания.

Воспользуемся функциональным видом параллелизма. В начальный момент времени все процессы, число которых size = n+1 знают начальные значения параметров. Организуем цикл по времени от tнач до tмакс с шагом τ. На текущей итерации цикла будет выполняться следующее:

  1. все процессы кроме нулевого вычисляют коэффициенты первого приближения, причём процесс №1 вычисляет , процесс №2 вычисляет , процесс №size-1 вычисляет ;

  2. все процессы пересылают на нулевой процесс вычисленные коэффициенты первого приближения. Он собирает их в массив, который затем рассылает их на все рабочие процессы;

  3. все процессы кроме нулевого, вычисляют коэффициенты второго приближения, причём процесс №1 вычисляет , процесс №2 вычисляет , процесс №size-1 вычисляет ;

  4. рабочие процессы пересылают на нулевой процесс вычисленные значения коэффициентов 2-го приближения. Он собирает их в массив, который рассылает их на рабочие процессы;

  5. все процессы кроме нулевого вычисляют коэффициенты 3-го приближения причём: процесс №1 вычисляет , процесс №2 вычисляет , процесс №size-1 вычисляет ;

  6. рабочие процессы пересылают на нулевой процесс вычисленные значения коэффициентов 3-го приближения. Он собирает их в массив, который рассылает их на рабочие процессы;

  7. все процессы кроме нулевого вычисляют коэффициенты 4-го приближения причём: процесс №1 вычисляет , процесс №2 вычисляет , процесс №size-1 вычисляет ;

  8. все рабочие процессы вычисляют новые значения параметров: процесс №1 вычисляет , процесс №2 вычисляет , процесс №size-1 вычисляет ;

  9. все рабочие процессы переписывают вычисленные значения параметров на нулевой процесс, который собирает их в массив. Затем нулевой процесс рассылает массив на все рабочие процессы;

  10. все процессы делают шаг по времени;

  11. все процессы проверяют условие окончания итерационного процесса tk+1≤tмакс . Если итерационный процесс не закончен то переходим к пункту №1, иначе – пункт №12;

  12. нулевой процесс печатает вычисленные значения параметров.

Метод прогноза коррекции

1.

2. Расчётные формулы

1 этап

2 этап

3. Алгоритм распараллеливания.

Воспользуемся функциональным видом параллелизма. Общее число используемых процессов size n-1, где n – число уравнений в системе. Организуем цикл по времени от tнач до tмакс с шагом τ. В начальный момент времени все процессы знают начальные значения параметров.

На каждой итерации цикла будет выполняться следующее:

  1. все процессы кроме нулевого вычисляют значения правых частей в конкретный момент времени. Причём процесс №1 вычисляет , процесс№2 - , процесс № size-1 - ;

  2. все процессы, кроме нулевого процесса, вычисляют прогнозируемые значения параметров, причём процесс с rank=1 вычисляет , процесс с rank=2 - , процесс с rank=size-1 - ;

  3. рабочие процессы пересылают на нулевой процесс вычисленные прогнозируемые значения параметров. Нулевой процесс собирает их в массив и рассылает их на рабочие процессы;

  4. все процессы, кроме нулевого процесса, вычисляют прогнозируемые значения правых частей, причём процесс с №1 вычисляет , процесс с №2 - , процесс с №size-1 - ;

  5. все процессы, кроме нулевого процесса, вычисляют новые скорректированные значения параметров, причём процесс с №1 вычисляет , процесс с №2 - , процесс с №size-1 - ;

  6. рабочие процессы пересылают на нулевой процесс вычисленные скорректированные значения параметров. Нулевой процесс собирает полученные значения в массив и рассылает его на все рабочие процессы;

  7. все процессы одновременно делают шаг по времени tk+1=tk

  8. все процессы проверяют условие окончания итерационного процесса, если итерационный процесс не закончен, то переходим к пункту №1, иначе – пункт№9

  9. нулевой процесс печатает вычисленные значения параметров

Действие

Rank

1

2

3

4

5

6

7

8

9

0

□□□□

□□□□

tk+1=tk

tk+1≤tmax

Печать Xk+1

1

tk+1=tk

tk+1≤tmax

2

tk+1=tk

tk+1≤tmax

Size -1

tk+1=tk

tk+1≤tmax