40
41
42
43
50
51
52
53#include "implicit_f.inc"
54
55
56
57#include "scr17_c.inc"
58#include "com04_c.inc"
59#include "r2r_c.inc"
60
61
62
63 INTEGER BUFFTMP(*),IPART(LIPART1,*),ID,
64 . FLAG
65 CHARACTER KEY*(*)
66 TYPE(SUBMODEL_DATA) LSUBMODEL(NSUBMOD)
67
68 TYPE (SUBSET_) , DIMENSION(NSUBS) :: SUBSET
69
70
71
72 LOGICAL IS_AVAILABLE, IS_ENCRYPTED
73 INTEGER J,NSEG,J10(10),IGS,JREC,IADV,ISU,K,L,IPP,NUMA,KK,JJ,NENTITY
74 CHARACTER MOT*4
75 CHARACTER(LEN=NCHARTITLE) :: TITR,TITR1
76 INTEGER,DIMENSION(:),ALLOCATABLE :: LIST_ENTITY
77
78 INTERFACE
81 INTEGER,DIMENSION(:),ALLOCATABLE :: arg1
82 INTEGER,INTENT(INOUT) :: arg2
83 TYPE(SUBMODEL_DATA) :: arg3(NSUBMOD)
84 END SUBROUTINE
85 END INTERFACE
86
87 nentity = 0
88 IF (key(1:6) == 'SUBSET') THEN
89
90
91
93 DO kk=1,nentity
94 jj=list_entity(kk)
95 IF(jj /= 0)THEN
96 isu=0
97 DO k=1,nsubs
98 IF (jj == subset(k)%ID) THEN
99 isu=k
100 DO l=1,subset(isu)%NTPART
101
102 bufftmp(subset(isu)%TPART(l)) = 1
103 ENDDO
104 EXIT
105 ELSEIF (jj == -subset(k)%ID) THEN
106 isu=k
107 DO l=1,subset(isu)%NTPART
108
109 bufftmp(subset(isu)%TPART(l)) = -1
110 ENDDO
111 EXIT
112 ENDIF
113 ENDDO
114 IF (isu == 0 .AND. flag == 0) THEN
116 . msgtype=msgwarning,
117 . anmode=aninfo,
119 . c1=titr1,
120 . c2=titr,
121 . c3='SUBSET',
122 . i2=jj)
123 ENDIF
124 ENDIF
125 enddo
126 IF(ALLOCATED(list_entity))DEALLOCATE (list_entity)
127
128 ELSEIF (key(1:4) == 'PART' .OR. key(1:3) == 'MAT' .OR. key(1:4) == 'PROP') THEN
129
130
131
132 IF(key(1:4) == 'PART')THEN
133 mot='PART'
134 ipp=4
135 ELSEIF(key(1:3) == 'MAT')THEN
136 mot='MAT'
137 ipp=5
138 ELSEIF(key(1:4) == 'PROP')THEN
139 mot='PROP'
140 ipp=6
141 ENDIF
142
144 DO kk=1,nentity
145 jj=list_entity(kk)
146 IF(jj /= 0)THEN
147 isu=0
148 DO k=1,npart
149 numa = ipart(ipp,k)
150 IF (nsubdom>0) THEN
152 ENDIF
153
154 IF(jj == numa)THEN
155 isu=k
156
157 bufftmp(isu)=1
158 ELSEIF(-jj == numa)THEN
159 isu=k
160
161
162 ENDIF
163 ENDDO
164 IF(isu == 0 .AND. flag == 0)THEN
165 IF(mot(1:4)/='PART')THEN
167 . msgtype=msgwarning,
168 . anmode=aninfo,
170 . c1=titr1,
171 . c2=titr1,
172 . c3=titr,
173 . c4=mot,
174 . i2=jj)
175 ELSE
177 . msgtype=msgwarning,
178 . anmode=aninfo,
180 . c1=titr1,
181 . c2=titr1,
182 . c3=titr,
183 . c4='PART',
184 . i2=jj)
185 ENDIF
186 ENDIF
187 ENDIF
188 enddo
189 IF(ALLOCATED(list_entity))DEALLOCATE (list_entity)
190
191
192 ENDIF
193
194 RETURN
subroutine groups_get_elem_list(list_entity, nentity, lsubmodel)
integer, parameter nchartitle
integer, dimension(:,:), allocatable ipart_r2r
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)