ВУЗ:
Рубрика:
135
c переменной и шага
x=0.0
xk=10000.0
h=0.001
c Декомпозиция уравнений системы
m=n/size
if(rank.lt.n-m*size) m=m+1
c
c Задание начальных условий
do i=1,n
y(i)=1.0
end do
c
c Решение системы методом Рунге–Кутты для обеспечения
c корректного старта многошаговых методов: yy – решения
c системы ОДУ при x0, x1, x2, x3
call rk4(x, h, y, yy)
c Расчет правых частей системы ОДУ при x0, x1, x2, x3
do k=0,3
do i=1,n
y1(i)=yy(k,i)
end do
call rp(x-(3-k)*h, y1, f1)
do i=1,m
ff(k,i)=f1(i)
end do
end do
c Распределение решения по активным процессам
call mpi_scatter(y, m, mpi_double_precision,
$ y0, m, mpi_double_precision, 0,
$ mpi_comm_world, ierr)
c Засечка времени начала выполнения основного расчетного
c блока
if(rank.eq.0) time=mpi_wtime()
c Главный цикл выполнения схемы "предиктор–корректор"
call adams(x, h, y, y0, ff, xk) !Adams method
c Засечка времени для определения продолжительности
c работы
c параллельной программы
if(rank.eq.0) time=mpi_wtime()-time
Страницы
- « первая
- ‹ предыдущая
- …
- 133
- 134
- 135
- 136
- 137
- …
- следующая ›
- последняя »
