39
40
41
47
48
49
50#include "implicit_f.inc"
51
52
53
54#include "com01_c.inc"
55#include "com04_c.inc"
56#include "param_c.inc"
57#include "r2r_c.inc"
58
59
60
61 INTEGER IEXTER(NR2R,*),FLAG,FRONTB_R2R(SFRONTB_R2R,*)
63 . dt_r2r(4,*)
64 TYPE (GROUP_) , DIMENSION(NGRNOD) :: IGRNOD
65
66
67
68 INTEGER REF,I,J,K,L,IDG,NJ,NJS,ERR,DOMLEN,FL_EXIT,SPLIST
69 CHARACTER NAM*150,CHRUN*4,MESS*40
70 INTEGER, DIMENSION(:), ALLOCATABLE :: PLIST
71
72
73
74
75 INTEGER USR2SYS
76 INTEGER NLOCAL
77 INTEGER :: LEN_TMP_NAME
78 CHARACTER(len=4096) :: TMP_NAME
79
80
81 ref = 991982
82
83 WRITE(chrun,'(I4.4)') irun
84 IF (ipid==0) THEN
85 nam = trim(dom_name)//'_'//chrun//'.domdec'
86 domlen = len_trim(dom_name)+12
87 ELSE
88
90 .
isubdom(7,1)-1)//
'_'//chrun//
'.domdec'
92 ENDIF
93
96 OPEN(unit=ref,file=tmp_name(1:len_tmp_name),
97 . access='SEQUENTIAL',form='FORMATTED',status='UNKNOWN')
98
99 IF (flag == 1) THEN
100
101 ALLOCATE(plist(nspmd))
102 plist(1:nspmd) = -1
103
104 WRITE(ref,1303,iostat=err) flg_fsi
105
106 DO i=1,4
107 WRITE(ref,1304,iostat=err) dt_r2r(i,1)
108 END DO
109
110 DO i=1,nr2rlnk
111 idg = iexter(1,i)
112
113 IF (iexter(5,i) /= 70) THEN
114 DO j=1,igrnod(idg)%NENTITY
115 nj = igrnod(idg)%ENTITY(j)
116 fl_exit = 0
117 splist=0
119
120 WRITE(ref,1302,iostat=err)
itab(nj),splist
121 DO l=1,splist
122 k = plist(l)
123 WRITE(ref,1303,iostat=err) (k)
124 IF (err/=0) THEN
126 . msgtype=msgerror,
127 . anmode=aninfo_blind_1)
128 fl_exit = 1
129 EXIT
130 ENDIF
131 ENDDO
132 IF (fl_exit==1) EXIT
133 END DO
134 ENDIF
135 END DO
136
137 CLOSE(unit=ref,status='KEEP')
138 DEALLOCATE(plist)
139
140 ELSEIF (flag == 0) THEN
141
142 READ(ref,1303,iostat=err) flg_fsi
143
144 DO i=1,4
145 READ(ref,1304,iostat=err) dt_r2r(i,1)
146 END DO
147
148 DO i=1,nr2rlnk
149 idg = iexter(1,i)
150
151 IF (iexter(5,i) /= 70) THEN
152 DO j=1,igrnod(idg)%NENTITY
153 fl_exit = 0
154 READ(ref,1302,iostat=err) njs,splist
156 DO k=1,nspmd
157 frontb_r2r(nj,k) = idg
158 END DO
159 DO l=1,splist
160 READ(ref,1303,iostat=err) k
161 IF (err/=0) THEN
163 . msgtype=msgerror,
164 . anmode=aninfo_blind_1)
165 fl_exit = 1
166 EXIT
167 ENDIF
168 frontb_r2r(nj,k) = -1
170 ENDDO
171 IF (fl_exit==1) EXIT
172 END DO
173 ELSE
174 DO j=1,igrnod(idg)%NENTITY
175 nj = igrnod(idg)%ENTITY(j)
176 DO k=1,nspmd
177 IF (frontb_r2r(nj,k) > 0) frontb_r2r(nj,k) = frontb_r2r(nj,k) + ngrnod*idg
178 END DO
179 END DO
180 ENDIF
181 END DO
182 CLOSE(unit=ref,status='KEEP')
183
184 ELSE
185
186 CLOSE(unit=ref,status='DELETE')
187
188
189 ENDIF
190
191
192 RETURN
193
1941302 FORMAT( 1x,i20,i9)
1951303 FORMAT( 1x,i9)
1961304 FORMAT( 1x,e9.4)
197
198
199
200 RETURN
201
202
203
204 RETURN
subroutine ifrontplus(n, p)
character(len=outfile_char_len) outfile_name
integer, dimension(:,:), allocatable isubdom
integer, dimension(:), allocatable, target itabm1
integer, dimension(:), allocatable itab
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)
integer function usr2sys(iu, itabm1, mess, id)