42 . IGRTRUSS ,IGRBEAM ,IGRSPRING, LSUBMODEL)
54#include "implicit_f.inc"
68 INTEGER IPART(LIPART1,*)
69 TYPE (GROUP_) ,
DIMENSION(NGRBRIC) :: IGRBRIC
70 TYPE (GROUP_) ,
DIMENSION(NGRQUAD) :: IGRQUAD
71 TYPE (GROUP_) ,
DIMENSION(NGRSHEL) :: IGRSH4N
72 TYPE (GROUP_) ,
DIMENSION(NGRSH3N) :: IGRSH3N
73 TYPE (GROUP_) ,
DIMENSION(NGRTRUS) :: IGRTRUSS
74 TYPE (GROUP_) ,
DIMENSION(NGRBEAM) :: IGRBEAM
75 TYPE (GROUP_) ,
DIMENSION(NGRSPRI) :: IGRSPRING
80 INTEGER ID, I, GR, IGR
81 CHARACTER(LEN=NCHARTITLE) :: TITR,TITR1
82 CHARACTER MESS*40,TYP*6
84 CHARACTER(LEN=NCHARKEY) :: KEY
85 LOGICAL IS_ENCRYPTED,IS_AVAILABLE,IS_FOUND_SURF
91 DATA mess/
' THPART DEFINITION '/
95 WRITE(iout,
'(//A)')
' THPARTS'
96 WRITE(iout,
'(A//)')
' -----'
98 is_encrypted = .false.
99 is_available = .false.
100 is_found_surf = .false.
103 IF(nthpart>0) igrelem = 1
115 CALL fretitl(titr,ipart(lipart1-ltitr+1,npart+i),ltitr)
116 CALL hm_get_intv(
'grelem_ID', gr ,is_available,lsubmodel)
129 IF (typ(1:6) ==
'GRBRIC')
THEN
131 igr = nintrigr(gr,igrbric,ngrbric)
132 IF (ityp == igrbric(igr)%GRTYPE) is_found_surf = .true.
134 ELSEIF (typ(1:6) ==
'GRQUAD')
THEN
136 igr = nintrigr(gr,igrquad,ngrquad)
137 IF (ityp == igrquad(igr)%GRTYPE) is_found_surf = .true.
139 ELSEIF (typ(1:6) ==
'GRSHEL')
THEN
141 igr = nintrigr(gr,igrsh4n,ngrshel)
142 IF (ityp == igrsh4n(igr)%GRTYPE) is_found_surf = .true.
144 ELSEIF (typ(1:6) ==
'GRTRUS')
THEN
146 igr = nintrigr(gr,igrtruss,ngrtrus)
147 IF (ityp == igrtruss(igr)%GRTYPE) is_found_surf = .true.
149 ELSEIF (typ(1:6) ==
'GRBEAM')
THEN
151 igr = nintrigr(gr,igrbeam,ngrbeam)
152 IF (ityp == igrbeam(igr)%GRTYPE) is_found_surf = .true.
154 ELSEIF (typ(1:6) ==
'GRSPRI')
THEN
156 igr = nintrigr(gr,igrspring,ngrspri)
157 IF (ityp == igrspring(igr)%GRTYPE) is_found_surf = .true.
159 ELSEIF (typ(1:6) ==
'GRSH3N' .OR. typ(1:6) == 'grtria
') THEN
161 IGR = NINTRIGR(GR,IGRSH3N,NGRSH3N)
162 IF (ITYP == IGRSH3N(IGR)%GRTYPE) IS_FOUND_SURF = .TRUE.
165.NOT.
IF( IS_FOUND_SURF)THEN
166 CALL ANCMSG(MSGID=763,MSGTYPE=MSGERROR,ANMODE=ANINFO,I1=ID,C1=TITR,I2=GR,C2=TYP(1:6))
169 WRITE(IOUT,'(/a,i10,2a)
')'thpart:
',ID,',
',TRIM(TITR)
170 WRITE(IOUT,'(a)
') '----
'
171 WRITE(IOUT,'(a,a)
')'TYPE of element group :
',TYP(1:6)
172 WRITE(IOUT,'(a,i10)
')'element group id :
',GR
175 IPART(2,NPART+I)=ITYP
178 IF(IPART(4,NPART+I) == 0) THEN
179 CALL ANCMSG(MSGID=493,MSGTYPE=MSGERROR,ANMODE=ANINFO_BLIND_1,C1=TITR1)
184 !-------------------------------------
185 ! Search for duplicate IDs
186 !-------------------------------------
187 CALL UDOUBLE(IPART(4,1),LIPART1,NPART+NTHPART,MESS,0,BID)
subroutine hm_read_thpart(ipart, igrbric, igrquad, igrsh4n, igrsh3n, igrtruss, igrbeam, igrspring, lsubmodel)