Высокопроизводительные вычисления на кластерах. Беликов Д.А - 190 стр.

UptoLike

190
Call MPI_CART_SHIFT(comm, 1, 1, lower, upper, ierr)
call MPI_TYPE_VECTOR(ks+2,1,Nx+2,
1 MPI_DOUBLE_PRECISION,vertical_border, ierr)
call MPI_TYPE_COMMIT(vertical_border, ierr)
call MPI_TYPE_VECTOR(1,is+2,is+2,
1 MPI_DOUBLE_PRECISION, horizontal_border,ierr)
call MPI_TYPE_COMMIT(horizontal_border,ierr)
c Задание начальных значений
Do i=0,is+1
Do j=0,ks+1
T(i,j)=100.0d0
Tnew(i,j)=100.0d0
End do
End do
c Задание граничных условий
If (icoor.eq.0) then
Do j=0,ks+1
T(0,j)=1.0d0
End do
If (kcoor.eq.0) then
Do j=0,Ny+1
T(0,j)=1.0d0
End do
Do i=0,Nx+1
T(i,0)=10.0d0
End do
End if
End if
If (icoor.eq.idim-1) then
Do j=0,ks+1
T(is+1,j)=10.0d0
End do
End if
If (kcoor.eq.0) then
Do i=0,is+1
T(i,0)=10.0d0
End do
End if
If (kcoor.eq.kdim-1) then