31!||--- uses -----------------------------------------------------
36 . ITAB ,ITABM1 ,ISUBMOD ,SID ,
37 . NNOD ,MESS ,FLAG ,TITR ,
38 . TITR1 ,LSUBMODEL ,IGRNOD ,NN )
49#include "implicit_f.inc"
56 INTEGER ITAB(*),ITABM1(*),ISUBMOD(*)
57 INTEGER SID,NNOD,FLAG,NN
59 CHARACTER(LEN=NCHARTITLE) :: TITR,TITR1
62 TYPE (GROUP_),
TARGET :: IGRNOD
66 INTEGER I,J,K,ISU,IDNOD,INUM,JREC,NTAG,CTAG,CUR_SUBMOD,ISELECT
68INTEGER TAGS(0:NSUBMOD),J10(10)
69 CHARACTER(LEN=NCHARKEY) :: KEY
70 CHARACTER(LEN=NCHARLINE) :: CART
71 CHARACTER(LEN=NCHARFIELD) ::VERS_IN
72 INTEGER,
DIMENSION(:),
ALLOCATABLE :: LIST_ENTITY
73 INTEGER,
DIMENSION(:),
ALLOCATABLE :: TAGNODSUB
80 SUBROUTINE GROUPS_GET_ELEM_LIST(arg1,arg2,arg3)
82 INTEGER,
DIMENSION(:),
ALLOCATABLE :: arg1
83 INTEGER,
INTENT(INOUT) :: arg2
91 is_available = .false.
102 DO WHILE (cur_submod /= 0 .AND. iselect == 0)
103 IF (lsubmodel(cur_submod)%NOSUBMOD == jj) iselect = 1
104 IF (lsubmodel(cur_submod)%NOSUBMOD == -jj) iselect = -1
105 cur_submod = lsubmodel(cur_submod)%IFATHER
108 IF (iselect == 1)
THEN
110 tags(k) = tags(k) + 1
112 ELSEIF (iselect == -1)
THEN
114 tags(k) = tags(k) - 1
118 IF (iok == 0)
CALL ancmsg(msgid=194,
119 . msgtype=msgwarning,
129 IF(
ALLOCATED(list_entity))
DEALLOCATE (list_entity)
134 CALL cpp_nodes_count(nbnodes,nbcnodes)
135 ALLOCATE(tagnodsub(nbnodes+nbcnodes))
137 CALL cpp_node_sub_tag(tagnodsub)
141 DO j=1,nbnodes+nbcnodes
142 IF(tagnodsub(j) == i) nnod=nnod+1
149 DO j=1,nbnodes +nbcnodes
150 IF(tagnodsub(j) == i)
THEN
158 IF (
ALLOCATED(tagnodsub))
DEALLOCATE(tagnodsub)
175 . ISUBMOD ,IX ,NIX ,SID ,
176 . NEL ,NUMEL ,IELT ,MESS ,
177 . FLAG ,TITR ,TITR1 ,LSUBMODEL,IGRELEM ,
189#include "implicit_f.inc"
193#include "units_c.inc"
197 INTEGER NIX,SID,NEL,NUMEL,IELT,FLAG,NN,IGS
198 INTEGER ISUBMOD(*),IX(NIX,*)
200 CHARACTER(LEN=NCHARTITLE) :: TITR,TITR1
201 TYPE(SUBMODEL_DATA) LSUBMODEL(NSUBMOD)
203 TYPE (GROUP_) IGRELEM(*)
207 INTEGER I,J,K,ISU,IDEL,INUM,TAG,CUR_SUBMOD,ISELECT,IOK, ID,IDU,ELEMTYPE,KK
208INTEGER TAGS(0:NSUBMOD)
209 CHARACTER(LEN=NCHARKEY) :: KEY
210 CHARACTER(LEN=NCHARLINE) ::CART
211 CHARACTER(LEN=NCHARFIELD) ::VERS_IN
212 INTEGER,
DIMENSION(:),
ALLOCATABLE :: TAGELEMSUB
213 LOGICAL IS_AVAILABLE, IS_ENCRYPTED
214 INTEGER,
DIMENSION(:),
ALLOCATABLE :: LIST_ELEM
220 INTEGER,
DIMENSION(:),
ALLOCATABLE :: arg1
221 INTEGER,
INTENT(INOUT) :: arg2
243 DO WHILE (cur_submod /= 0 .AND. iselect == 0)
244 IF (lsubmodel(cur_submod)%NOSUBMOD == jj) iselect = 1
245 IF (lsubmodel(cur_submod)%NOSUBMOD == -jj) iselect = -1
246 cur_submod = lsubmodel(cur_submod)%IFATHER
248 IF (iselect == 1)
THEN
250 tags(k) = tags(k) + 1
252 ELSEIF (iselect == -1)
THEN
254 tags(k) = tags(k) - 1
258 IF (iok == 0)
CALL ancmsg(msgid=194,
259 . msgtype=msgwarning,
269 IF(
ALLOCATED(list_elem))
DEALLOCATE (list_elem)
274 IF (tags(k) > 1) tags(k) = 1
275 IF (tags(k) < -1) tags(k) = -1
290 ELSEIF (ielt == 2)
THEN
292 ELSEIF (ielt == 3)
THEN
294 ELSEIF (ielt == 4)
THEN
296 ELSEIF (ielt == 5)
THEN
298 ELSEIF (ielt == 6)
THEN
300 ELSEIF (ielt == 7)
THEN
304 ALLOCATE(tagelemsub(numel))
306 CALL cpp_elem_sub_tag(elemtype,tagelemsub)
311 IF(tagelemsub(j) == i) nel=nel+1
315 ELSEIF (flag == 1)
THEN
319 IF(tagelemsub(j) == i)
THEN
321 igrelem(igs)%ENTITY(nn) = j
327 IF (
ALLOCATED(tagelemsub))
DEALLOCATE(tagelemsub)
subroutine groups_get_elem_list(list_entity, nentity, lsubmodel)
subroutine hm_submodgrn(itab, itabm1, isubmod, sid, nnod, mess, flag, titr, titr1, lsubmodel, igrnod, nn)
subroutine hm_submodgre(isubmod, ix, nix, sid, nel, numel, ielt, mess, flag, titr, titr1, lsubmodel, igrelem, nn, igs)
integer, parameter nchartitle
integer, parameter ncharkey
integer, parameter ncharfield
integer, parameter ncharline
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)