#include "implicit_f.inc"
#include "com04_c.inc"
#include "param_c.inc"
#include "spmd.inc"
Go to the source code of this file.
◆ spmd_fvb_switch()
| subroutine spmd_fvb_switch |
( |
integer, dimension(*) | monvol | ) |
|
Definition at line 33 of file spmd_fvb_switch.F.
34
35
36
37
38
39
41 USE elbufdef_mod
42 USE spmd_mod
43
44
45
46#include "implicit_f.inc"
47
48
49
50#include "com04_c.inc"
51#include "param_c.inc"
52
53
54
55#include "spmd.inc"
56
57
58
59 INTEGER MONVOL(*)
60
61
62 INTEGER :: K1,N,ITYP(NVOLU),ITYPR(NVOLU),IERR
63
64#ifdef MPI
65
66 k1=1
67 DO n=1,nvolu
68 ityp(n)=monvol(k1-1+2)
69 k1=k1+nimv
70 ENDDO
71
72 CALL mpi_allreduce(ityp,itypr,nvolu,mpi_integer,mpi_min,spmd_comm_world,ierr)
73 k1=1
74
75 DO n=1,nvolu
76 IF(monvol(k1-1+2) == 8 .AND. itypr(n) == 7) THEN
77 monvol(k1-1+2) = 7
78 monvol(k1-1+15) = -1
79 ENDIF
80 k1=k1+nimv
81 ENDDO
82#endif
83 RETURN
subroutine mpi_allreduce(sendbuf, recvbuf, cnt, datatype, operation, comm, ierr)