35
36
37
41
42
43
44#include "implicit_f.inc"
45
46
47
48#include "com04_c.inc"
49#include "lagmult.inc"
50#include "scr17_c.inc"
51
52
53
54 INTEGER NC, IADLL(*), JLL(*), LLL(*),IBCSLAG(5,*)
56 INTEGER NOM_OPT(LNOPT1,*)
57
58 TYPE (GROUP_) , DIMENSION(NGRNOD) :: IGRNOD
59
60
61
62 INTEGER I, IK, IG, IGR, CT, CR, ISK, NN
63 INTEGER ID
64 CHARACTER(LEN=NCHARTITLE) :: TITR
65
66 DO i=1,nbcslag
67 igr = ibcslag(1,i)
68 ct = ibcslag(2,i)
69 cr = ibcslag(3,i)
70 isk = ibcslag(4,i)
72 CALL fretitl2(titr,nom_opt(lnopt1-ltitr+1,i),ltitr)
73 DO ig=1,igrnod(igr)%NENTITY
74 nn=igrnod(igr)%ENTITY(ig)
75 IF(mass(nn)/=0.0)THEN
76
77 IF(ct==1.OR.ct==3.OR.ct==5.OR.ct==7)THEN
78
79 nc = nc + 1
80 IF(nc>lag_ncf)THEN
82 . msgtype=msgerror,
83 . anmode=aninfo,
84 . c1='BCS',
86 . c2='BCS',
87 . c3=titr)
88 ENDIF
89 IF(isk==1)THEN
90 iadll(nc+1)=iadll(nc) + 1
91 IF(iadll(nc+1)-1>lag_nkf)THEN
93 . msgtype=msgerror,
94 . anmode=aninfo,
96 . c1='BOUNDARY CONDITIONS',
97 . c2='BOUNDARY CONDITIONS',
98 . c3=titr)
99 ENDIF
100 ik = iadll(nc)
101 lll(ik) = nn
102 jll(ik) = 3
103 ELSE
104 iadll(nc+1)=iadll(nc) + 3
105 IF(iadll(nc+1)-1>lag_nkf)THEN
107 . msgtype=msgerror,
108 . anmode=aninfo,
110 . c1='BOUNDARY CONDITIONS',
111 . c2='BOUNDARY CONDITIONS',
112 . c3=titr)
113 ENDIF
114 ik = iadll(nc)
115 lll(ik) = nn
116 jll(ik) = 1
117 ik = ik + 1
118 lll(ik) = nn
119 jll(ik) = 2
120 ik = ik + 1
121 lll(ik) = nn
122 jll(ik) = 3
123 ENDIF
124 ENDIF
125 IF(ct==2.OR.ct==3.OR.ct==6.OR.ct==7)THEN
126
127 nc = nc + 1
128 IF(nc>lag_ncf)THEN
130 . msgtype=msgerror,
131 . anmode=aninfo,
133 . c1='BOUNDARY CONDITIONS',
134 . c2='BOUNDARY CONDITIONS',
135 . c3=titr)
136 ENDIF
137 IF(isk==1)THEN
138 iadll(nc+1)=iadll(nc) + 1
139 IF(iadll(nc+1)-1>lag_nkf)THEN
141 . msgtype=msgerror,
142 . anmode=aninfo,
144 . c1='BOUNDARY CONDITIONS',
145 . c2='BOUNDARY CONDITIONS',
146 . c3=titr)
147 ENDIF
148 ik = iadll(nc)
149 lll(ik) = nn
150 jll(ik) = 2
151 ELSE
152 iadll(nc+1)=iadll(nc) + 3
153 IF(iadll(nc+1)-1>lag_nkf)THEN
155 . msgtype=msgerror,
156 . anmode=aninfo,
158 . c1='BOUNDARY CONDITIONS',
159 . c2='BOUNDARY CONDITIONS',
160 . c3=titr)
161 ENDIF
162 ik = iadll(nc)
163 lll(ik) = nn
164 jll(ik) = 1
165 ik = ik + 1
166 lll(ik) = nn
167 jll(ik) = 2
168 ik = ik + 1
169 lll(ik) = nn
170 jll(ik) = 3
171 ENDIF
172 ENDIF
173 IF(ct==4.OR.ct==5.OR.ct==6.OR.ct==7)THEN
174
175 nc = nc + 1
176 IF(nc>lag_ncf)THEN
178 . msgtype=msgerror,
179 . anmode=aninfo,
181 . c1='BOUNDARY CONDITIONS',
182 . c2='BOUNDARY CONDITIONS',
183 . c3=titr)
184 ENDIF
185 IF(isk==1)THEN
186 iadll(nc+1)=iadll(nc) + 1
187 IF(iadll(nc+1)-1>lag_nkf)THEN
189 . msgtype=msgerror,
190 . anmode=aninfo,
192 . c1='BOUNDARY CONDITIONS',
193 . c2='BOUNDARY CONDITIONS',
194 . c3=titr)
195 ENDIF
196 ik = iadll(nc)
197 lll(ik) = nn
198 jll(ik) = 1
199 ELSE
200 iadll(nc+1)=iadll(nc) + 3
201 IF(iadll(nc+1)-1>lag_nkf)THEN
203 . msgtype=msgerror,
204 . anmode=aninfo,
206 . c1='BOUNDARY CONDITIONS',
207 . c2='BOUNDARY CONDITIONS',
208 . c3=titr)
209 ENDIF
210 ik = iadll(nc)
211 lll(ik) = nn
212 jll(ik) = 1
213 ik = ik + 1
214 lll(ik) = nn
215 jll(ik) = 2
216 ik = ik + 1
217 lll(ik) = nn
218 jll(ik) = 3
219 ENDIF
220 ENDIF
221 ENDIF
222 IF(iner(nn)/=0.0)THEN
223
224 IF(cr==1.OR.cr==3.OR.cr==5.OR.cr==7)THEN
225
226 nc = nc + 1
227 IF(nc>lag_ncf)THEN
229 . msgtype=msgerror,
230 . anmode=aninfo,
232 . c1='BOUNDARY CONDITIONS')
233 ENDIF
234 IF(isk==1)THEN
235 iadll(nc+1)=iadll(nc) + 1
236 IF(iadll(nc+1)-1>lag_nkf)THEN
238 . msgtype=msgerror,
239 . anmode=aninfo,
241 . c1='BOUNDARY CONDITIONS',
242 . c2='BOUNDARY CONDITIONS',
243 . c3=titr)
244 ENDIF
245 ik = iadll(nc)
246 lll(ik) = nn
247 jll(ik) = 6
248 ELSE
249 iadll(nc+1)=iadll(nc) + 3
250 IF(iadll(nc+1)-1>lag_nkf)THEN
252 . msgtype=msgerror,
253 . anmode=aninfo,
255 . c1='BOUNDARY CONDITIONS',
256 . c2='BOUNDARY CONDITIONS',
257 . c3=titr)
258 ENDIF
259 ik = iadll(nc)
260 lll(ik) = nn
261 jll(ik) = 4
262 ik = ik + 1
263 lll(ik) = nn
264 jll(ik) = 5
265 ik = ik + 1
266 lll(ik) = nn
267 jll(ik) = 6
268 ENDIF
269 ENDIF
270 IF(cr==2.OR.cr==3.OR.cr==6.OR.cr==7)THEN
271
272 nc = nc + 1
273 IF(nc>lag_ncf)THEN
275 . msgtype=msgerror,
276 . anmode=aninfo,
278 . c1='BOUNDARY CONDITIONS',
279 . c2='BOUNDARY CONDITIONS',
280 . c3=titr)
281 ENDIF
282 IF(isk==1)THEN
283 iadll(nc+1)=iadll(nc) + 1
284 IF(iadll(nc+1)-1>lag_nkf)THEN
286 . msgtype=msgerror,
287 . anmode=aninfo,
289 . c1='BOUNDARY CONDITIONS',
290 . c2='BOUNDARY CONDITIONS',
291 . c3=titr)
292 ENDIF
293 ik = iadll(nc)
294 lll(ik) = nn
295 jll(ik) = 5
296 ELSE
297 iadll(nc+1)=iadll(nc) + 3
298 IF(iadll(nc+1)-1>lag_nkf)THEN
300 . msgtype=msgerror,
301 . anmode=aninfo,
303 . c1='BOUNDARY CONDITIONS',
304 . c2='BOUNDARY CONDITIONS',
305 . c3=titr)
306 ENDIF
307 ik = iadll(nc)
308 lll(ik) = nn
309 jll(ik) = 4
310 ik = ik + 1
311 lll(ik) = nn
312 jll(ik) = 5
313 ik = ik + 1
314 lll(ik) = nn
315 jll(ik) = 6
316 ENDIF
317 ENDIF
318 IF(cr==4.OR.cr==5.OR.cr==6.OR.cr==7)THEN
319
320 nc = nc + 1
321 IF(nc>lag_ncf)THEN
323 . msgtype=msgerror,
324 . anmode=aninfo,
326 . c1='BOUNDARY CONDITIONS',
327 . c2='BOUNDARY CONDITIONS',
328 . c3=titr)
329 ENDIF
330 IF(isk==1)THEN
331 iadll(nc+1)=iadll(nc) + 1
332 IF(iadll(nc+1)-1>lag_nkf)THEN
334 . msgtype=msgerror,
335 . anmode=aninfo,
337 . c1='BOUNDARY CONDITIONS',
338 . c2='BOUNDARY CONDITIONS',
339 . c3=titr)
340 ENDIF
341 ik = iadll(nc)
342 lll(ik) = nn
343 jll(ik) = 4
344 ELSE
345 iadll(nc+1)=iadll(nc) + 3
346 IF(iadll(nc+1)-1>lag_nkf)THEN
348 . msgtype=msgerror,
349 . anmode=aninfo,
351 . c1='BOUNDARY CONDITIONS',
352 . c2='BOUNDARY CONDITIONS',
353 . c3=titr)
354 ENDIF
355 ik = iadll(nc)
356 lll(ik) = nn
357 jll(ik) = 4
358 ik = ik + 1
359 lll(ik) = nn
360 jll(ik) = 5
361 ik = ik + 1
362 lll(ik) = nn
363 jll(ik) = 6
364 ENDIF
365 ENDIF
366 ENDIF
367
368 ENDDO
369 ENDDO
370
371 RETURN
integer, parameter nchartitle
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)