36
37
38
41
42
43
46
47
48
49#include "implicit_f.inc"
50
51
52
53#include "com04_c.inc"
54#include "scr17_c.inc"
55#include "param_c.inc"
56#include "r2r_c.inc"
57
58
59
60 INTEGER IEXTER(NR2R,*),IPARTL(LIPART1,*)
61
62
63
64 INTEGER STAT,I,IGR,IGRS,N,K,ADD
65 CHARACTER MESS*40
66 INTEGER, DIMENSION(:), ALLOCATABLE :: TAGPART
67
68 TYPE (GROUP_) ,DIMENSION(NGRNOD) :: IGRNOD
69
70
71
72 INTEGER GRFIND
73
74 DATA mess/' ** ERROR EXTERNAL COUPLING DEFINITION '/
75
76
77
78 IF (nsubdom>0) THEN
79 DO n=1,nsubdom-1
81 DO i=n+1,nsubdom
84 . msgtype=msgerror,
85 . anmode=aninfo,
86 . i1=igr)
87 ierr=ierr+1
88 ENDIF
89 END DO
90 END DO
91 ENDIF
92
93
94
95 ALLOCATE(tagpart(npart))
96 tagpart = 0
97
98 DO n=1,nsubdom
100 DO k=1,npart
103 tagpart(k)=tagpart(k)+1
104 IF (tagpart(k)>1) THEN
106 . msgtype=msgerror,
107 . anmode=aninfo,i1=
isubdom(1,n),
108 . i2=
ipart(lipart1*(k-1)+4))
109 ierr=ierr+1
110 ENDIF
111 ENDIF
112 ENDDO
113 END DO
114 END DO
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130 DO n=1,nr2rlnk
131 igr = iexter(1,n)
132 igrs =
grfind(igr,igrnod,mess)
133 iexter(1,n) = igrs
134 IF (igrs==0) ierr=ierr+1
135 END DO
136
137
138
139 RETURN
integer, dimension(:), allocatable isubdom_part
integer, dimension(:,:), allocatable isubdom
integer, dimension(:), allocatable, target ipart
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)