40 . NODAREA,IAD_ELEM,FR_ELEM,LENR,WEIGHT)
45 USE spmd_comm_world_mod,
ONLY : spmd_comm_world
46#include "implicit_f.inc"
59 INTEGER IAD_ELEM(2,*),FR_ELEM(*), SIZE, LENR,WEIGHT(*)
66 INTEGER MSGTYP,I,NOD,LOC_PROC,IERROR,
68 . status(mpi_status_size),
69 . iad_send(nspmd+1),iad_recv(nspmd+1),
70 . req_r(nspmd),req_s(nspmd),msgoff
73 .
DIMENSION(:),
ALLOCATABLE :: sbuf,rbuf
88 siz = iad_elem(1,i+1)-iad_elem(1,i)
92 s rbuf(l),siz,real,it_spmd(i),msgtyp,
93 g spmd_comm_world,req_r(i),ierror)
104 DO j=iad_elem(1,i),iad_elem(1,i+1)-1
106 sbuf(l) = nodarea(nod)
114 IF(iad_elem(1,i+1)-iad_elem(1,i)>0)
THEN
118 siz = iad_send(i+1)-iad_send(i)
122 s sbuf(l),siz,real,it_spmd(i),msgtyp,
123 g spmd_comm_world,req_s(i),ierror)
129 nb_nod = iad_elem(1,i+1)-iad_elem(1,i)
131 CALL mpi_wait(req_r(i),status,ierror)
134 DO j=iad_elem(1,i),iad_elem(1,i+1)-1
137 nodarea(nod) = nodarea(nod) + rbuf(l)
144 IF(iad_elem(1,i+1)-iad_elem(1,i)>0)
THEN
145 CALL mpi_wait(req_s(i),status,ierror)
subroutine err_thk(ixc, ixtg, iparg, iad_elem, fr_elem, weight, x, elbuf_tab, ipart, ipartc, iparttg, itask, nodft, nodlt, err_thk_sh4, err_thk_sh3, sh4tree, sh3tree, area_sh4, area_sh3, area_nod, thick_sh4, thick_sh3, thick_nod)
subroutine mpi_isend(buf, cnt, datatype, dest, tag, comm, ireq, ierr)
subroutine mpi_irecv(buf, cnt, datatype, source, tag, comm, ireq, ierr)