31 . IPART ,IGRBRIC ,IGRQUAD ,IGRSH4N ,IGRSH3N,
32 . IGRTRUSS ,IGRBEAM ,IGRSPRING)
40#include "implicit_f.inc"
51 INTEGER IGR(*),GR(*),NELEM,NGRTH,
52 . IPARG(NPARG,*),IPART(LIPART1,*)
54 TYPE (GROUP_) ,
TARGET,
DIMENSION(NGRBRIC) :: IGRBRIC
55 TYPE (GROUP_) ,
TARGET,
DIMENSION(NGRQUAD) :: IGRQUAD
56 TYPE (
group_) ,
TARGET,
DIMENSION(NGRSHEL) :: igrsh4n
57 TYPE (
group_) ,
TARGET,
DIMENSION(NGRSH3N) :: igrsh3n
58 TYPE (
group_) ,
TARGET,
DIMENSION(NGRTRUS) :: igrtruss
59 TYPE (GROUP_) ,
TARGET,
DIMENSION(NGRBEAM) :: IGRBEAM
60 TYPE (GROUP_) ,
TARGET,
DIMENSION(NGRSPRI) :: IGRSPRING
64 INTEGER I,J,K,ID,NN,NVAR,ITYP,CPT,GRTMP,IGRTMP(NGRTH+NELEM),
65 . IGR1,FLAG,,NG,CPT1,IGRELE,NENTITY
67 INTEGER,
DIMENSION(:),
POINTER :: ELEM
73 DO k=npart+1,npart+nthpart
84 nentity = igrbric(igrele)%NENTITY
85 elem => igrbric(igrele)%ENTITY
86 ELSEIF (ityp == 2)
THEN
87 offset = offset + numels
88 nentity = igrquad(igrele)%NENTITY
89 elem => igrquad(igrele)%ENTITY
90 ELSEIF (ityp == 3)
THEN
91 offset = offset + numelq
92 nentity = igrsh4n(igrele)%NENTITY
93 elem => igrsh4n(igrele)%ENTITY
94 ELSEIF (ityp == 4)
THEN
95 offset = offset + numelc
96 nentity = igrtruss(igrele)%NENTITY
97 elem => igrtruss(igrele)%ENTITY
98 ELSEIF (ityp == 5)
THEN
99 offset = offset + numelt
100 nentity = igrbeam(igrele)%NENTITY
101 elem => igrbeam(igrele)%ENTITY
102 ELSEIF (ityp == 6)
THEN
103 offset = offset + numelp
104 nentity = igrspring(igrele)%NENTITY
105 elem => igrspring(igrele)%ENTITY
106 ELSEIF (ityp == 7)
THEN
107 offset = offset + numelr
108 nentity = igrsh3n(igrele)%NENTITY
109 elem => igrsh3n(igrele)%ENTITY
113 igrtmp(cpt) = elem(j)+offset
115 igr(elem(j)+offset) = igr(elem(j)+offset) + 1
122 IF (igrtmp(i) > igrtmp(j))
THEN
139 IF (igr(1) == 0)
THEN
148 IF (igr(i) == 0)
THEN
151 ELSEIF (flag == 1)
THEN
158 igr(i+1) = igr(i) + igrtmp(i)
159 ELSEIF (flag == 1)
THEN
161 igr(i+1) = igr(i) + igrtmp(i)
171 IF (ityp == 1) offset = 0
172 IF (ityp == 2) offset = numels
173 IF (ityp == 3) offset = numels + numelq
174 IF (ityp == 4) offset = numels + numelq + numelc
175 IF (ityp == 5) offset = numels + numelq + numelc
177 IF (ityp == 6) offset = numels + numelq + numelc
179 IF (ityp == 7) offset = numels + numelq + numelc
180 . + numelt + numelp + numelr
181 DO j=nft+offset+1,nft+offset+nel
182 IF (igr(j) /= igr(j+1))
THEN
subroutine init_th_group(gr, igr, nelem, ngrth, iparg, ipart, igrbric, igrquad, igrsh4n, igrsh3n, igrtruss, igrbeam, igrspring)